本文公众号文章链接:https://mp.weixin.qq.com/s/YoRJw_vkAK0aBTN6-HK0qw
本文csdn博客链接:https://blog.youkuaiyun.com/screscent/article/details/79807625
boltdb是一个纯粹的key Value数据库,其宗旨是提供一个简单,快速,可信的数据库。此数据库广泛应用于各大开源组件中。
源码目录为:

源码比较多,且其内部逻辑比较复杂,本文只分析其中的page结构。
github.com/boltdb/bolt/page.go

page结构体。page指的是内存中的页,这个结构体其实是用来对应页,然后将其管理起来的数据结构。
id:是pgid类型,是给page的编号。
flags:是指的此页中保存的具体数据类型。(有好几种)
count:记录具体数据类型中的计数,不同的类型具有不同的含义
overflow:用来记录是否有

本文详细介绍了Boltdb数据库的page结构,包括page的id、flags、count、overflow和ptr等关键字段,以及branchPageFlag、leafPageFlag和metaPageFlag等不同类型的页。通过分析pageHeaderSize和内存分布,揭示了Boltdb如何使用树形结构管理页的关系。此外,提到了metaPage和freelistPage,并提供了内存分布图以辅助理解。
最低0.47元/天 解锁文章
2676

被折叠的 条评论
为什么被折叠?



