leveldb是乙個key/value型的儲存引擎,由google開發,並宣布在bsd許可下開放源**。
plain**
git clone
plain**
cd leveldb
make all
此時生成libleveldb.a庫檔案。拷貝leveldb的標頭檔案到/usr/include下
plain**
cp -r ./include/leveldb /usr/include/
即完成leveldb的安裝工作
測試程式如下:
cpp**
#include
#include
#include
#include
int main()
將生成libleveldb.a拷貝到原始檔相同的目錄下,編譯該程式:
plain**
g++ -o test test.cpp libleveldb.a -lpthread
此時即生成test可執行檔案。執行test結果如下:
plain**
[root@mdss33 test]# ./test
value
Leveldb原始碼分析 1
前言 看了一點oceanbase,沒有意志力繼續堅持下去了,暫時就此中斷,基本上算把master看完了,比較重要的update server和merge server 卻沒有細看。中間又陸續研究了hadoop的原始碼,主要是name node和寫入pipeline。主要的目的是想看看name nod...
levelDB原始碼分析 SSTable
sstable是bigtable中至關重要的一塊,對於leveldb來說也是如此,對leveldb的sstable實現細節的了解也有助於了解bigtable中一些實現細節。本節內容主要講述sstable的靜態布局結構,sstable檔案形成了不同level的層級結構,至於這個層級結構是如何形成的我們...
Leveldb原始碼分析 2
輕鬆一刻,前面約定中講過leveldb使用了很多varint型編碼,典型的如後面將涉及到的各種key。其中的編碼 解碼函式分為varint和fixedint兩種。int32和int64操作都是類似的。首先是fixedint編碼,直接上 很簡單明瞭。void encodefixed32 char bu...