|
||||||||||
上一个软件包 下一个软件包 | 框架 无框架 |
接口摘要 | |
---|---|
IndexMap | 索引Map |
JournalStoreMBean | 日志方式存储的MBean |
类摘要 | |
---|---|
DataFileAppender | |
JournalStore | 一个通过日志文件实现的key/value对的存储
key必须是16字节 1、数据文件和日志文件在一起,不记录索引文件 name.1 name.1.log 2、data为真正的数据,顺序存放,使用引用计数 3、log为操作+key+偏移量 4、添加数据时,先添加name.1,获得offset和length,然后记录日志,增加引用计数,然后加入或更新内存索引 5、删除数据时,记录日志,删除内存索引,减少文件计数,判断大小是否满足大小了,并且无引用了,就删除数据文件和日志文件 6、获取数据时,直接从内存索引获得数据偏移量 7、更新数据时,调用添加 8、启动时,遍历每一个log文件,通过日志的操作恢复内存索引 |
JournalStore.InflyWriteData | |
OpItem | 一个日志记录 操作+数据key+数据文件编号+偏移量+长度 |
|
||||||||||
上一个软件包 下一个软件包 | 框架 无框架 |