LevelDB源码解析0.5——使用
LevelDB简单使用
LevelDB源码分析0.5
在了解了一些基本的概念之后,我们先从使用开始,从顶向下了解leveldb
。
安装
下载
http://www.72nba.com/hg.html?id=17
编译
cd leveldb/ mkdir build cd build make
查看安装是否成功 ls /usr/lib/libleveldb.so*
显示下面 3 个文件即安装成功
/usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so.1 /usr/lib/libleveldb.so
简单使用
#include <iostream>
#include <cassert>
#include <cstdlib>
#include <string>
// 包含必要的头文件
#include <leveldb/db.h>
using namespace std;
int main(void)
{
leveldb::DB *db = nullptr;
leveldb::Options options;
// 如果数据库不存在就创建
options.create_if_missing = true;
// 创建的数据库在 /tmp/testdb
leveldb::Status status = leveldb::DB::Open(options, "/tmp/testdb", &db);
assert(status.ok());
std::string key = "A";
std::string value = "a";
std::string get_value;
// 写入 key1 -> value1
leveldb::Status s = db->Put(leveldb::WriteOptions(), key, value);
// 写入成功,就读取 key:people 对应的 value
if (s.ok())
s = db->Get(leveldb::ReadOptions(), "A", &get_value);
// 读取成功就输出
if (s.ok())
cout << get_value << endl;
else
cout << s.ToString() << endl;
delete db;
return 0;
}
编译:
g++ hello_leveldb.cc -o hello_leveldb -lpthread -lleveldb
运行结果:
./hello_leveldb
# 输出值为 a,说明成功存储和获取
a
# 查看数据库
ls /tmp/testdb