码迷,mamicode.com
首页 > 其他好文 > 详细

Index索引文件

时间:2020-01-26 00:49:29      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:链表   otc   timestamp   mes   log文件   amp   map   tco   mic   

 

技术图片

 

 

 

1.IndexHeader头部,40字节,记录IndexFile的统计信息:

begainTimestamp:该索引文件中包含消息的最小存储时间

endTimestamp:该索引文件中包含消息的最大存储时间

begainPhyoffset:该索引文件中包含消息的最大物理偏移量(commitlog文件偏移量)

endPhyoffset:该索引文件中包含消息的最大物理偏移量(commitlog文件偏移量)

hashslotCount:hashslot个数,并不是hash槽的个数,在这里意义不大

indexCount:Index条目列表当前已使用的个数,Index条目在Index条目列表中按顺序存储

2.Hash槽,一个IndexFile默认包含500万个Hash槽,每个Hash槽存储的是落在该Hash槽的hashcode最新的Index的索引

3.Index条目列表:默认一个索引文件包含2000万个条目,每一个Index条目结构如下

hashcode:key的hashcode

phyoffset:消息对应的物理偏移量

timedif:该消息存储时间与第一条消息的时间戳的差值,小于0该消息无效

preIndexNo:该条目的前一条记录的Index索引,当出现hash冲突时,构建的链表结构

关键:map<String消息索引key,long 消息物理偏移量>

IndexFile#putKey

 

 

技术图片

 

 

 

技术图片

 

 

 

技术图片

技术图片

 

 

 

技术图片

 

Index索引文件

标签:链表   otc   timestamp   mes   log文件   amp   map   tco   mic   

原文地址:https://www.cnblogs.com/lccsblog/p/12233639.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!