Leveldb是一个google实现的非常高效的kv数据库,目前能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。Leveldb是Jeff Dean和Sanjay Ghemawat两位大神级别的工程师发起的开源项目。其它更多更关Leveldb的介绍,可以google详细了解。
Leveldb的项目托管在https://code.google.com/p/leveldb/
其实很早之前就已经有人为Leveldb写了Objective-C的接口,今天抽时间写了一个类似NSUserDefaults的接口,以后我就可以在自己的项目中用它来代替SQLite了。
如果需要使用Leveldb,首先需要去Clone托管在google code上的代码,然后将代码编译成静态库:
如果需要编译成Mac OSX系统的静态库:12cd leveldbCXXFLAGS=-stdlib=libc++ make
如果需要编译成iOS系统的表态库:12cd leveldbCXXFLAGS=-stdlib=libc++ make PLATFORM=IOS
然后将include头拖到自己的工程中,到此就可以使用Leveldb提供的接口了,由于Leveldb是用C++开发的,所以在使用的时候记得将.m修改为.mm。
这是我为OC写的接口:
|
|
下面是我写的一个Mac的测试工程,如果需要在iOS中使用,记得重新编译ios版本的leveldb.a文件,如果觉得我写的接口用得着的话,请点击下载吧: