Table of Contents boltdb源码剖析 1.boltdb简要介绍 1.1 boltdb是什么? 1.2 为什么要分析boltdb? 1.3 boltdb的简单用法 1.4 boltdb的整体数据组织结构 1.5 boltdb的黑科技 2.boltdb的核心数据结构分析 2.1 boltdb的物理页page结构 2.2 元数据页 2.3 空闲列表页 2.4 分支节点页 2.5 叶子节点页 2.6 总结 3.boltdb的b+树(Bucket、node)分析 3.1 boltdb的Bucket结构 3.2 Bucket遍历之Cursor 3.2.1 Cursor结构 3.2.2 Cursor对外接口 3.2.3 Seek(key)实现分析 3.2.4 First()、Last()实现分析 3.2.5 Next()、Prev()实现分析 3.2.6 Delete()方法分析 3.3 node节点的相关操作 3.3.1 node节点的定义 3.3.2 node节点和page转换 3.3.3 node节点的增删改查 3.3.4 node节点的分裂和合并 3.4 Bucket的相关操作 3.4.1 创建一个Bucket 3.4.2 获取一个Bucket 3.4.3 删除一个Bucket 3.5 key/value的插入、获取、删除 3.5.1 插入一个key/value对 3.5.2 获取一个key/value对 3.5.3 删除一个key/value对 3.5.4 遍历Bucket中所有的键值对 3.6 Bucket的页分裂、页合并 4.boltdb事务控制 4.1 boltdb事务简介 4.2 boltdb事务Tx定义 4.3 Begin()实现 4.4 Commit()实现 4.5 Rollback()实现 4.6 WriteTo()和CopyFile()实现 4.7 总结 5.boltdb DB分析 5.1 DB结构 5.2 对外接口 5.3 Open()实现分析 5.4 db.View()实现分析 5.5 db.Update()实现分析 5.6 db.Batch()实现分析 5.7 db.allocate()和db.grow()分析 5.8 总结 6.参考资料 Created by gh-md-toc