传统缓存只关心"命中",Bf-Tree偏偏把"没命中"也当成宝贝。当查询反复索要一条不存在的记录,普通系统只能一次次回磁盘确认;Bf-Tree直接把"这条记录不存在"本身缓存起来,后续查询直接返回"没有",省去一次I/O。

这套机制藏在名为"phantom record"(幽灵记录)的设计里。搜索key=42,磁盘确认无此记录,Bf-Tree就往mini-page里塞一条幽灵记录。下次再查key=42,缓存直接告诉你"查过了,没有",不用碰叶子节点。

打开网易新闻 查看精彩图片

Mini-page因此容纳四种记录类型,幽灵记录的本质是一句断言:"我们已经检查过,这个key不存在。"对于频繁失败查询的场景,这能显著削减重复磁盘访问。

持久化层面,Bf-Tree没有标新立异:预写日志(WAL)保障事务提交前落盘,定期快照配合WAL回放完成崩溃恢复。加载快照、重建内存页、回放日志、恢复状态——流程与传统数据库无异。

真正反常的只有一点:Bf-Tree把"记录不存在"视为值得缓存的状态信息。缺席本身成为数据。

(本文作者Maneshwar正在开发git-lrc,一个基于git钩子的微型AI代码审查工具,每次提交自动审阅diff,60秒配置,免费开源。)