Windows版的LevelDB - leveldbwin
<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>
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!