levelDB是google实现的一个非常高效的key-value数据库,是能够处理十亿级别规模key-value型数据持久性存储的C++程序库。具有极高的读写速度。官方网站报道其随机写性能达到40万条记录每秒,随机读性能达到6万条记录每秒。写操作要远快于读操作,顺序读写操作大于随机读写操作。
levelDB的作者是Jeaf Dean (http://research.google.com/people/jeff/index.html)和 Sanjay Ghemawat(http://research.google.com/pubs/SanjayGhemawat.html),是Google的Fellow,属于重量级工程师。
levelDB的安装过程:
1)下载源码,http://code.google.com/p/leveldb/downloads/detail?name=leveldb-1.14.0.tar.gz&can=2&q=
2) 解压tar -xzvf leveldb-1.14.0.tar.gz
3) 进入leveldb-1.14.0目录,执行命令:make
4) 当目录中生成.a 和 .so文件时,说明安装成功。
levelDB的使用方法:
1) 编写如下代码MainTest.cpp:
#include "leveldb/db.h"
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
leveldb::DB *db;
leveldb::Options options;
options.create_if_missing = true;
//open the database 打开数据库
leveldb::DB::Open(options, "testdb", &db);
//key-value pair 键值对声明
string key = "key", value = "value", result;
//store the key-value 插入键值对
db->Put(leveldb::WriteOptions(), key, value);
//select the key-value 查询键值
db->Get(leveldb::ReadOptions(), key, &result);
//output to the screen
cout << "result = " << result << endl;
//close the database 关闭数据库
delete db;
return 0;
}
2)编译MainTest.cpp
g++ MainTest.cpp -Ileveldb-1.14.0/include/ leveldb-1.14.0/ibleveldb.a -lpthread
其中leveldb-1.14.0为leveldb的安装目录,就是刚才解压出来的目录。
3)第二步生成a.out, 执行命令 ./a.out
打印, result = value, 并且在目录下生成testdb文件夹,里面有LOG CURRENT等文件。