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