leveldb:键值存储 作者:Sanjay Ghemawat ([email protected]) 和 Jeff Dean ([email protected])
此目录下的代码实现了一个维护持久键值存储的系统。
有关更多信息,请参阅 doc/index.html。关于实现简要概述,请参阅 doc/impl.html。
公开接口位于 include/*.h 中。调用者不应包括或依赖于该包中任何其他头文件的详细信息。那些内部 API 可能会没有警告而更改。
头文件指南
include/db.h 与 DB 的主接口:从这里开始
include/options.h 控制整个数据库的行为,以及控制单个读取和写入的行为。
include/comparator.h 为用户指定的比较函数提供抽象。如果您只想进行按键的按字节比较,您可以使用默认的比较器,但客户端可以编写自己的比较器实现,如果需要自定义排序(例如处理不同的字符编码等)。
include/iterator.h 用于遍历数据的接口。您可以从 DB 对象中获取迭代器。
include/write_batch.h 原子地将多个更新应用到数据库的接口。
include/slice.h 维护对某些其他字节数组的指针和长度的简单模块。
include/status.h 状态从许多公共接口返回,并用于报告成功和各种错误。
include/env.h OS 环境的抽象。该接口的 POSIX 实现在 util/env_posix.cc 中。
include/table.h include/table_builder.h 大多数客户端可能不会直接使用的低级模块