LevelDB简单使用

LevelDB源码分析0.5

在了解了一些基本的概念之后,我们先从使用开始,从顶向下了解leveldb

安装

  1. 下载

    http://www.72nba.com/hg.html?id=17
    
  2. 编译

    cd leveldb/
    mkdir build
    cd build
    make
    
  3. 查看安装是否成功 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