ToplingDB 使用入门

2022-03-30 00:00:00 修改 专区 代码 的是 内嵌

从 RocksDB 迁移到 ToplingDB,只需要修改 Open/Close 相关的代码,其它代码不用任何改动。

示例代码(省略错误处理,完整版在这里)

#include <topling/side_plugin_repo.h>
#include <rocksdb/db.h>
int main(int argc, char* argv[]) {
  using namespace rocksdb;
  SidePluginRepo repo;
  repo.ImportAutoFile(argv[1]); // argv[1] is json/yaml conf file
  DB* db = nullptr;
  repo.OpenDB(&db);
  repo.StartHttpServer();
  if (strcasecmp(argv[2], "set") == ) {
    db->Put(WriteOptions(), argv[3], argv[4]);
  }
  else if (strcasecmp(argv[2], "get") == ) {
    std::string val;
    db->Get(ReadOptions(), argv[3], &val);
    fprintf(stdout, "%s\n", val.c_str());
  }
  fprintf(stderr, "now visit the web(defined in json/yaml conf file)\n");
  fprintf(stderr, "press enter to exit\n");
  getchar(); // wait for enter
  repo.CloseAllDB();
  return ;
}

相关文章