智能指针 C++11 引入了 3 个智能指针类型: std::unique_ptr<T> :独占资源所有权的指针。 std::shared_pt...
Compaction 的作用 因为 LevelDB 的增删改都是通过追加写来实现的,所以需要通过后台线程的 compaction 来: 清理过期...
Lambda 表达式(Lambda Expression)是 C++11 引入的一个“语法糖”,可以方便快捷地创建一个“函数对象”。 从 C++...
自动类型推导 现代的编程语言,不管是动态语言(JavaScript、Python 等),还是静态语言(Go、Rust 等),大都支持自动类型推导...
右值引用(rvalue reference)是 C++11 为了实现移动语意(move semantic)和完美转发(perfect forwa...
LevelDB 有两个地方需要用到有序遍历: 对外提供范围查询的接口(NewIterator)。 内部的 Compaction。 通过前面的文章...
LevelDB 提供三个和写操作相关的接口: Put :插入/修改一条记录。 Delete :删除一条记录。 Write :原子地插入/修改/删...
LevelDB 支持的读操作分为两种: 点查询(Point Query):读一个 key 的数据。 范围查询(Range Query):有序读一...
前文回顾 LevelDB 完全解析(0):基本原理和整体架构 LevelDB 完全解析(1):MemTable LevelDB 完全解析(2):...