#include <assert.h>
#include <iostream>
#include <string>
#include <db.h>
using namespace std;
int main(int argc, char *argv[])
{
leveldb::DB *db;
leveldb::Options options;
options.create_if_missing = true;
std::string dbpath = "testdb";
leveldb::Status status = leveldb::DB::Open(options, dbpath, &db);
assert(status.ok());
std::string key1 = "lgc";
std::string key2 = "example@gmail.com";
cout<< "Open db ok" << std::endl;
std::string value;
leveldb::Status s;
s = db->Put(leveldb::WriteOptions(), key1, key2);
s = db->Get(leveldb::ReadOptions(), key1, &value);
cout << value << std::endl;
delete db;
return 0;
}
下载LevelDB源码,配置后,编译,然后将库的头文件copy到/usr/include目录下,共享库拷贝到/usr/lib目录下
编译:g++ -Wall -g -o test leveldb.cpp -I/usr/include/leveldb/ -L/usr/lib -lleveldb
执行:./test
输出:
Open db ok
example@gmail.com
执行完就会发现程序创建了一个testdb的目录, shell: ls testdb发现目录里有数据文件:
000003.log CURRENT LOCK LOG MANIFEST-000002
这个程序非常简单,先设置数据库选项,接着打开数据库,向打开的数据库写入一条数据,然后再从数据库读数据,打印读到的数据。
Leveldb的API详细解释可以参考Leveldb的官方文档
http://www.pipetips.com/entries/2012/09/06/8356.html