摘要: 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 懒懒& 阅读(36) 评论(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)
摘要: 专栏不会有详细的源码解析,只会有源码的详细功能介绍与设计分析,源码的话还是要自己看比较好。 阅读全文
posted @ 2021-08-20 11:30 懒懒& 阅读(25) 评论(0) 推荐(0)
摘要: 记录一个后台开发成长的心血历程 阅读全文
posted @ 2020-11-01 21:15 懒懒& 阅读(33) 评论(0) 推荐(0)