Leveldb使用方法

2021-07-09 01:15:02 字數 1695 閱讀 3223

注意:翻譯時譯者有節選。

leveldb是乙個鍵值對資料庫。鍵和值可以是任意位元組數。鍵根據鍵值和使用者指定的比較運算元來排列。

leveldb的資料庫檔案和它在檔案系統中的資料夾名字一致,所有的資料庫檔案都儲存在這個目錄裡面。下面的**演示了如何開啟乙個資料庫,如果不存在,則新建該資料庫。

#include #include "leveldb/db.h"

leveldb::db* db;

leveldb::options options;

options.create_if_missing = true;

leveldb::status status = leveldb::db::open(options, "/tmp/testdb", &db);

assert(status.ok());

...

如果你希望在開啟該資料庫的時候,如果發現該資料庫已經存在時丟擲錯誤,那麼在

leveldb::db::open前面加上

options.error_if_exists = true;

你可能已經注意到了 

leveldb::status

型別。在leveldb中有可能出錯的函式基本都會返回該型別。你可以通過它來檢查操作是否成功,並且給出錯誤資訊。

當你想要關閉資料庫的時候,執行刪除掉資料庫物件即可,如下所示:

... open the db as described above ...

... do something with db ...

delete db;

leveldb提供了put,delete,和get

方法來修改或查詢資料庫。如下面的**所示,把key1和key2的值交換。

std::string value;

leveldb::status s = db->get(leveldb::readoptions(), key1, &value);

if (s.ok()) s = db->put(leveldb::writeoptions(), key2, value);

if (s.ok()) s = db->delete(leveldb::writeoptions(), key1);

下面的例子展示了如何列印出所有的鍵值對。

leveldb::iterator* it = db->newiterator(leveldb::readoptions());

for (it->seektofirst(); it->valid(); it->next())

assert(it->status().ok()); // check for any errors found during the scan

delete it;

下面的例子展示如何列印介於start和limit之間的鍵值對

for (it->seek(start);

it->valid() && it->key().tostring() < limit;

it->next())

參考文章:

1  leveldb入門知識 

2  leveldb原始碼分析 之 入門使用

3 leveldb 簡介 

pythonpip使用方法 pip使用方法整理

匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...

使用方法 離型劑使用方法

1 使用離型劑前必須確保模具乾淨,無粉塵 蠟垢 樹脂垢 油汙等殘留物質。可以使用專用的模具潔模劑進行清洗,不可用其他液體清洗,以免清洗不乾淨或損壞模具。另外,如果您的模具是新的,在清洗乾淨後,務必要對模具進行初步處理,用離型劑在模具表面噴 刷塗5 6次,之後方可正常投入生產。2 使用離型劑時,首先要...

使用方法 卡丁車輪胎使用方法

輪胎的使用方法很重要 卡丁車輪胎是卡丁車場日常執行中的主要易損件,但是輪胎的使用方法很重要。哪些情況下會縮短輪胎的使用壽命呢?一 跑道地面粗糙 有的跑道在鋪瀝青時,或者選錯了瀝青中石子的規格,或者碾壓得不夠平整,導致路面粗糙。有的跑道使用現成的水泥地,但表面粗糙或不平整。有的室內跑道,為了提高輪胎的...