leveldb安裝和例子

os: ubuntu 14.04 lts

leveldb version=1.19

安裝

cd leveldb

make

此時leveldb/下多出out-shared和out-static目錄,其中out-shared/下有:

db db_bench helpers libleveldb.so libleveldb.so.1 libleveldb.so.1.19 port table util

然後sudo cp out-shared/libleveldb.so* /usr/local/lib && sudo cp -R include/* /usr/local/include

完成。

第一個程序

test_leveldb.cc

#include <cassert>  
#include <iostream>  
#include <string>  
#include <cstdlib>  

#include <leveldb/db.h>  

int main()  
{  
    leveldb::DB *db;  
    leveldb::Options options;  
    leveldb::Status status;  

    std::string key1 = "key1";  
    std::string val1 = "val1", val;  

    options.create_if_missing = true;  
    status = leveldb::DB::Open(options, "/tmp/testdb", &db);  
    if (!status.ok())  
    {  
        std::cout << status.ToString() << std::endl;  
        exit(1);  
    }  

    status = db->Put(leveldb::WriteOptions(), key1, val1);  
    if (!status.ok())  
    {  
        std::cout << status.ToString() << std::endl;  
        exit(2);  
    }  

    status = db->Get(leveldb::ReadOptions(), key1, &val);  
    if (!status.ok())  
    {  
        std::cout << status.ToString() << std::endl;  
        exit(3);  
    }  
    std::cout << "Get val: " << val << std::endl;  

    status = db->Delete(leveldb::WriteOptions(), key1);  
    if (!status.ok())  
    {  
        std::cout << status.ToString() << std::endl;  
        exit(4);  
    }  

    status = db->Get(leveldb::ReadOptions(), key1, &val);  
    if (!status.ok())  
    {  
        std::cout << status.ToString() << std::endl;  
        exit(5);  
    }  
    std::cout << "Get val: " << val << std::endl;  

    return 0;  
}  

編譯:g++ -o dbtest test_leveldb.cc -lleveldb
運行:./dbtest

output:

Get val: val1
NotFound:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章