随笔分类 -  leveldb

摘要:class IteratorWrapper [功能] 对一个Iterator进行封装, 增加一个私有的Update方法将key值缓存到key_字段, 每次进行切换节点的操作都会提前Update, 这样每次调用key方法都不需要调用iterator的key方法. 如果需要频繁查看同一个节点的key值, 阅读全文
posted @ 2021-08-20 17:47 懒懒& 阅读(38) 评论(0) 推荐(0)
摘要:class FilterBlockBuilder [功能] class FilterBlockBuilder使用FilterPolicy生成对应的过滤算法块. filter block为table的所有数据块提供一个基于FilterPolicy的过滤器集filters, 数据块的偏移量offset决 阅读全文
posted @ 2021-08-20 17:46 懒懒& 阅读(43) 评论(0) 推荐(0)
摘要:class BlockHandle [功能] 表示一个内部指针, 保存着一个block的偏移量和大小. class Footer [功能] 表示脚注, 保存着数据索引块和元数据索引块的BlockHandle. class BlockContents [功能] 封装一个数据块, 并且使用cachabl 阅读全文
posted @ 2021-08-20 17:46 懒懒& 阅读(35) 评论(0) 推荐(0)
摘要:leveldb 文件格式 <文件开头> [数据块 1] [数据块 2] ... [数据块 N] [元数据块 1] ... [元数据块 K] [元数据索引块] [数据索引块] [脚注] (固定大小; 偏移量为文件大小减去脚注大小) <文件结束> 文件包含内部的指针. 每个指针可以用BlockHandl 阅读全文
posted @ 2021-08-20 16:18 懒懒& 阅读(50) 评论(0) 推荐(0)
摘要:class Block [功能] class Block提供对BlockBuilder生成的数据块的读取操作. 设计模式为典型的迭代器模式, 通过内部的class Block::Iter来访问Block class Block::Iter : public Iterator [功能] 实现通用的It 阅读全文
posted @ 2021-08-20 15:31 懒懒& 阅读(38) 评论(0) 推荐(0)
摘要:class BlockBuilder [功能] class BlockBuilder生成prefix-compressed key的数据块, 输出为一个 Slice 每个key-value块的存储格式为: form data type shared_bytes of key: varint32 un 阅读全文
posted @ 2021-08-20 11:37 懒懒& 阅读(95) 评论(0) 推荐(0)