当前位置: 首页 > news >正文

Level DB --- MergingIterator

MergingIterator 是 Level DB中重要的类,在某一个level做多个file数据Compaction的时候,这多个file之间数据如何高效的组织和比较,这个时候用到了MergingIterator。

关键member & member function

MergingIterator继承了Iterator(Level DB --- Iterator-CSDN博客),它里面有一个数组children_,children_里面存储了多个file的Iterator(file的two_level_iterator, Level DB --- two_level_iterator-CSDN博客),

//计算children_里面值最小的iterator
void MergingIterator::FindSmallest()//计算children_里面值最大的iterator
void MergingIterator::FindLargest() //将children_都置到迭代器的首位置
void MergingIterator::SeekToFirst()//将children_都置到迭代器的尾位置
void MergingIterator::SeekToLast()//在各个children_里面搜索target
void MergingIterator::Seek(const Slice& target)//将children_中等于当前值key的迭代器置为到他们下一个迭代器
void MergingIterator::Next()//将children_中等于当前值key的迭代器置为到他们前一个迭代器
void MergingIterator::Prev()

以上功能都是为了用于多个file做Compaction的时候进行相同数据的合并。

相关文章:

  • 数据结构之二叉树(4)
  • 【AI大模型】SpringBoot整合Spring AI 核心组件使用详解
  • PHP数组排序深度解析:sort()、rsort()、asort()、arsort()、ksort()、krsort() 的适用场景与性能对比
  • C++负载均衡远程调用学习之负载均衡算法与实现
  • 从零开始学习RAG
  • 《算法导论(第4版)》阅读笔记:p7-p8
  • FISCO BCOS【初体验笔记】
  • 嵌入式学习笔记 - STM32 SRAM控制器FSMC
  • RocketMQ与Kafka的区别
  • Nginx正反向代理与正则表达式
  • 从OpenMP中的不兼容,窥探AI应用开发中的并行编程
  • GStreamer开发笔记(三):测试gstreamer/v4l2+sdl2/v4l2+QtOpengl打摄像头延迟和内存
  • 《深入理解 Java 虚拟机》笔记
  • 手表关于MPU6050中的功能实现
  • 架构思维:构建高并发读服务_基于流量回放实现读服务的自动化测试回归方案
  • Kubernetes控制平面组件:Controller Manager 之 NamespaceController 全方位讲解
  • 基于windows安装MySQL8.0.40
  • Dubbo(97)如何在物联网系统中应用Dubbo?
  • 【PDF拆分+提取内容改名】批量拆分PDF提取拆分后的每个PDF物流面单数据改名或导出表格,基于WPF的PDF物流面单批量处理方案
  • 【计算机视觉】3d人脸重建:3DDFA_V2:实时高精度3D人脸重建与密集对齐技术指南
  • 何立峰将访问瑞士、法国并举行中美经贸高层会谈、第十次中法高级别经济财金对话
  • 加拿大总理访美与特朗普“礼貌交火”
  • 安赛乐米塔尔深化在华战略布局,VAMA总经理:做中国汽车板竞争力前三
  • 这个部位最容易变老,却被很多姑娘忽视了
  • 4月份全球制造业PMI继续下降,经济下行压力有所加大
  • 洪纬读《制造三文鱼》丨毒素缠身的水生鸡