leveldb 的缓存结构 Leveldb 实现了key-value形式的缓存,淘汰算法是LRU。实现代码在 leveldb/util/cache.cc,一共400行,非常简洁。我曾以为他提供的一些逻辑是多余的,在 工作中遇到同样需求时尝试精简这个实现,后来发现我是错的,最终只改了注释上的拼写错 误。 文章介绍了LRU缓存结构的设计,重点分析了LRUHandle节点的成员及其作用,如缓存对象、清理函数和引用计数等,揭示了作者在可读性与性能之间的权衡。 LRUHandle LRU缓存 leveldb 引用计数 性能 清理函数 缓存