您好,登錄后才能下訂單哦!
本篇內容主要講解“leveldb的安裝及使用方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“leveldb的安裝及使用方法”吧!
leveldb 是 Google 用 C++ 開發的一個快速的鍵值對存儲數據庫,提供從字符串鍵到字符串值的有序映射。
git clone https://github.com/google/leveldb.git
cd leveldb/ make
編譯的動態庫和靜態庫分別在 out-shared
,out-static
下:
ls leveldb/out-shared/libleveldb.so.1.20 ls leveldb/out-static/libleveldb.a
只有動態庫需要安裝,靜態庫在你編譯的時候直接鏈接即可
# cp leveldb header file sudo cp -r /leveldb/include/ /usr/include/ # cp lib to /usr/lib/ sudo cp /leveldb/out-shared/libleveldb.so.1.20 /usr/lib/ # create link sudo ln -s /usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so.1 sudo ln -s /usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so # update lib cache sudo ldconfig
查看安裝是否成功
ls /usr/lib/libleveldb.so* # 顯示下面 3 個文件即安裝成功 /usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so.1 /usr/lib/libleveldb.so
我們來編寫一個 hello_leveldb.cc
來測試我們的 leveldb
。
#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;
}
cp leveldb/out-static/libleveldb.a ./ g++ hello_leveldb.cc -o hello_leveldb ./libleveldb.a -lpthread
g++ hello_leveldb.cc -o hello_leveldb -lpthread -lleveldb
./hello_leveldb # 輸出值為 a,說明成功存儲和獲取 a # 查看數據庫 ls /tmp/testdb
到此,相信大家對“leveldb的安裝及使用方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。