|
||||||||||
上一个 下一个 | 框架 无框架 |
使用 com.taobao.common.store.journal 的软件包 | |
---|---|
com.taobao.common.store.journal | |
com.taobao.common.store.journal.impl | |
com.taobao.metamorphosis.client.extension.storage |
com.taobao.common.store.journal 使用的 com.taobao.common.store.journal 中的类 | |
---|---|
IndexMap
索引Map |
|
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
|
|
JournalStoreMBean
日志方式存储的MBean |
|
OpItem
一个日志记录 操作+数据key+数据文件编号+偏移量+长度 |
com.taobao.common.store.journal.impl 使用的 com.taobao.common.store.journal 中的类 | |
---|---|
IndexMap
索引Map |
|
OpItem
一个日志记录 操作+数据key+数据文件编号+偏移量+长度 |
com.taobao.metamorphosis.client.extension.storage 使用的 com.taobao.common.store.journal 中的类 | |
---|---|
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文件,通过日志的操作恢复内存索引 |
|
JournalStoreMBean
日志方式存储的MBean |
|
||||||||||
上一个 下一个 | 框架 无框架 |