Windows版的LevelDB - leveldbwin

jopen 13年前
     <p>leveldb的Windows版本,开源的<span style="font-weight:bold;">leveldb</span>只支持Linux的,这个是在windows下可以编译和运行的。支持Visual Studio 2008和2010。编译出来的库文件可以是静态库也可以是动态库。</p>    <p>注:leveldb本来是支持windows的,因为chrome用的就是leveldb,但是chrome的编译太大了,而且从里面剥离出来很复杂。在使用时,发现chrome版的leveldb要比这个leveldbwin要快。大概快1/6左右,有想用快的,可以下个chrome,然后把 leveldb部分剥离出来。<br /> </p>    <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1324467179811" target="_blank">http://www.open-open.com/lib/view/home/1324467179811</a></p>    <p><br />  </p>    <p><a href="/misc/goto?guid=4958183634494907073" target="_blank"><span style="font-weight:bold;">Leveldb</span></a>是一个google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是LSM算法。</p>    <p>LevelDB 是单进程的服务,性能非常之高,在一台4个Q6600的CPU机器上,每秒钟写数据超过40w,而随机读的性能每秒钟超过10w。</p>    <p>示例代码:</p>    <pre>#include  #include "leveldb/include/db.h"  leveldb::DB* db; leveldb::Options options; options.create_if_missing = true; leveldb::Status status = leveldb::DB::Open(options, "/tmp/testdb", &db); assert(status.ok());  std::string value; leveldb::Status s = db->Get(leveldb::ReadOptions(), key1, &value); if (s.ok()) s = db->Put(leveldb::WriteOptions(), key2, value); if (s.ok()) s = db->Delete(leveldb::WriteOptions(), key1);</pre>    <p></p>