
智能指針 C++11 引入了 3 個(gè)智能指針類型: std::unique_ptr<T> :獨(dú)占資源所有權(quán)的指針浑吟。 std::shared_pt...
Compaction 的作用 因?yàn)?LevelDB 的增刪改都是通過追加寫來實(shí)現(xiàn)的局雄,所以需要通過后臺(tái)線程的 compaction 來: 清理過期...
Lambda 表達(dá)式(Lambda Expression)是 C++11 引入的一個(gè)“語法糖”奥喻,可以方便快捷地創(chuàng)建一個(gè)“函數(shù)對(duì)象”健无。 從 C++...
自動(dòng)類型推導(dǎo) 現(xiàn)代的編程語言,不管是動(dòng)態(tài)語言(JavaScript户辞、Python 等)蚀同,還是靜態(tài)語言(Go、Rust 等)读跷,大都支持自動(dòng)類型推導(dǎo)...
右值引用(rvalue reference)是 C++11 為了實(shí)現(xiàn)移動(dòng)語意(move semantic)和完美轉(zhuǎn)發(fā)(perfect forwa...
LevelDB 有兩個(gè)地方需要用到有序遍歷: 對(duì)外提供范圍查詢的接口(NewIterator)舔亭。 內(nèi)部的 Compaction些膨。 通過前面的文章...
LevelDB 提供三個(gè)和寫操作相關(guān)的接口: Put :插入/修改一條記錄。 Delete :刪除一條記錄钦铺。 Write :原子地插入/修改/刪...
LevelDB 支持的讀操作分為兩種: 點(diǎn)查詢(Point Query):讀一個(gè) key 的數(shù)據(jù)订雾。 范圍查詢(Range Query):有序讀一...
前文回顧 LevelDB 完全解析(0):基本原理和整體架構(gòu) LevelDB 完全解析(1):MemTable LevelDB 完全解析(2):...