10 2022 档案
摘要:学习bolt源码 bbolt,发现有一处使用到mmap, 开始的时候不明白是什么东西,很是好奇,怎么就把硬盘上的文件读到内存了,并没有看到read方法,后来查了资料,知道原来使用了mmap,所谓mmap是讲文件映射到内存的方法,操作内存,数据就到了硬盘上,修改硬盘,数据也能刷到内存。 而且它有个好处
阅读全文
摘要:最近学习一个GO语言写的开源项目Lotusdb, https://github.com/flower-corp/lotusdb, 其中使用跳表作为数据结构来缓存Key-Value,产生了疑惑为什么不直接用Map而要自己写个跳表呢? 带着这个疑惑我就进一步学习了很多知识。学习过程记录下来。 跳表首先第
阅读全文
摘要:通过阅读GO 语音版本的B+Tree来理解一下B+Tree, B+Tree最有名的应用是用在mysql里面用做索引查找数据 先来一张图说明一下, 这个图来自于https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html,用这个可视化的工具
阅读全文