levelDB put 代码阅读
levelDB 写流程主要涉及到以下几点:
1、对应的banch及检测当前level0层文件数;
2、level 0对应的内存是否足够,检测是否需要生成imm;
3、level 0层文件数达到软硬文件限制;
4、合并写操作
levelDB写流程大概流程图如下:
// 写操作入口
Status DB::Put(const WriteOptions& opt, const Slice& key, const Slice& value) {
WriteBat.
原创
2021-07-19 20:05:12 ·
264 阅读 ·
2 评论