C++ 中 RocksDB 最小示例

此最小示例展示如何打开 RocksDB 数据库、写入键以及如何读取它。

rocksdb-example.cpp
#include <cassert>
#include <string>
#include <rocksdb/db.h>

using namespace std;

int main(int argc, char** argv) {
    rocksdb::DB* db;
    rocksdb::Options options;
    options.create_if_missing = true;
    rocksdb::Status status =
    rocksdb::DB::Open(options, "/tmp/testdb", &db);
    assert(status.ok());

    // 插入值
    status = db->Put(rocksdb::WriteOptions(), "Test key", "Test value");
    assert(status.ok());

    // 读回值
    std::string value;
    status = db->Get(rocksdb::ReadOptions(), "Test key", &value);
    assert(status.ok());
    assert(!status.IsNotFound());

    // 读取不存在的键
    status = db->Get(rocksdb::ReadOptions(), "This key does not exist", &value);
    assert(status.IsNotFound());
}

使用此 CMakeLists.txt 构建

CMakeLists.txt
add_executable(rocksdb-example rocksdb-example.cpp)
target_link_libraries(rocksdb-example rocksdb dl)

使用以下命令编译

build_and_run.sh
cmake .
make
./rocksdb-example

Check out similar posts by category: C/C++, Databases