当前位置: 首页 > 工具软件 > LevelDB > 使用案例 >

levelDB—初识levelDB

郭翰翮
2023-12-01

levelDB是google实现的一个非常高效的key-value数据库,是能够处理十亿级别规模key-value型数据持久性存储的C++程序库。具有极高的读写速度。官方网站报道其随机写性能达到40万条记录每秒,随机读性能达到6万条记录每秒。写操作要远快于读操作,顺序读写操作大于随机读写操作。

levelDB的作者是Jeaf Dean (http://research.google.com/people/jeff/index.html)和 Sanjay Ghemawat(http://research.google.com/pubs/SanjayGhemawat.html),是Google的Fellow,属于重量级工程师。


levelDB的安装过程:

1)下载源码,http://code.google.com/p/leveldb/downloads/detail?name=leveldb-1.14.0.tar.gz&can=2&q=

2) 解压tar -xzvf  leveldb-1.14.0.tar.gz

3) 进入leveldb-1.14.0目录,执行命令:make

4) 当目录中生成.a 和 .so文件时,说明安装成功。


levelDB的使用方法:

1) 编写如下代码MainTest.cpp:

#include "leveldb/db.h"
#include <iostream>

using namespace std;

int main(int argc, char** argv)
{
    leveldb::DB *db;
    leveldb::Options options;

    options.create_if_missing = true;

    //open the database 打开数据库
    leveldb::DB::Open(options, "testdb", &db);

    //key-value pair  键值对声明
    string key = "key", value = "value", result;

    //store the key-value  插入键值对
    db->Put(leveldb::WriteOptions(), key, value);

    //select the key-value  查询键值
    db->Get(leveldb::ReadOptions(), key, &result);

    //output to the screen
    cout << "result = " << result << endl;

    //close the database 关闭数据库
    delete db;

    return 0;
}
2)编译MainTest.cpp

     g++ MainTest.cpp  -Ileveldb-1.14.0/include/  leveldb-1.14.0/ibleveldb.a  -lpthread
     其中leveldb-1.14.0为leveldb的安装目录,就是刚才解压出来的目录。

3)第二步生成a.out, 执行命令 ./a.out

     打印, result = value, 并且在目录下生成testdb文件夹,里面有LOG CURRENT等文件。


 类似资料: