WriteBatch-levelDB源码解析
来源:互联网 发布:java语法快速入门 编辑:程序博客网 时间:2024/06/04 23:24
将key value数据按照一定格式,批量组装起来,并提供处理的接口。
【数据成员介绍】
rep_:格式如下图所示,
sequence number:此次批量写入的开始序列号;
count:代表这一批中有多少条记录,
record:代表一条记录,第一个字节代表类型,是增加或修改一条记录,还是删除一条记录,紧接着就是key(用key的长度和key的内容分开表示),value(用value的长度和value的内容分开表示)
【方法成员介绍】
void WriteBatch::Put(const Slice& key, const Slice& value)作用:将一条key value按照record的格式,追加到rep_;
void WriteBatch::Delete(const Slice& key)
作用:将一条删除的记录按照record的格式,追加到rep;
Status WriteBatch::Iterate(Handler* handler) const
作用:迭代操作器,通过传入handler,来将rep_里面搜集的记录,进行处理,具体怎么处理由handler决定,但这个handler一定是实现了下面的接口
class Handler { public: virtual ~Handler(); virtual void Put(const Slice& key, const Slice& value) = 0; virtual void Delete(const Slice& key) = 0; }; Status Iterate(Handler* handler) const;
比如,handler有可能是MemTableInserter,那么就将这些record写入内存。这种将数据与处理分开的设计,使扩展性很强。
0 0
- WriteBatch-levelDB源码解析
- WriteBatch-levelDB源码解析
- leveldb源码学习-writebatch
- leveldb之WriteBatch
- option-levelDB源码解析
- Slice-levelDB源码解析
- Status-levelDB源码解析
- varint-levelDB源码解析
- VersionSet-levelDB源码解析
- Version-levelDB源码解析
- VersionEdit-levelDB源码解析
- memtable-levelDB源码解析
- BlockBuilder-levelDB源码解析
- Block-levelDB源码解析
- option-levelDB源码解析
- log::Writer-levelDB源码解析
- log::Reader-levelDB源码解析
- log format-levelDB源码解析
- hbase rowkey 对齐
- android之动画popowindows
- 进制转换
- 联合体中不能出现结构体
- USB数据采集系统中DMA数据传输的实现
- WriteBatch-levelDB源码解析
- grep之字符串搜索算法Boyer-Moore由浅入深(比KMP快3-5倍)
- A difference between decltype and auto?
- Oil Deposits (POJ No.1562) DFS
- C++函数调用原理理解
- 2013-12-22 ubuntu下 android emulator 启动错误解决
- 第17周项目22-年龄几何
- Android Volley完全解析(二),使用Volley加载网络图片
- Ubuntu_Apache_MySql_PHP