leveldb 的缓存结构
Leveldb 实现了key-value形式的缓存,淘汰算法是LRU。实现代码在 leveldb/util/cache.cc,一共400行,非常简洁。我曾以为他提供的一些逻辑是多余的,在 工作中遇到同样需求时尝试精简这个实现,后来发现我是错的,最终只改了注释上的拼写错 误。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 2 篇文章 · 返回首页
Leveldb 实现了key-value形式的缓存,淘汰算法是LRU。实现代码在 leveldb/util/cache.cc,一共400行,非常简洁。我曾以为他提供的一些逻辑是多余的,在 工作中遇到同样需求时尝试精简这个实现,后来发现我是错的,最终只改了注释上的拼写错 误。
leveldb是个由Google开发key-value数据库,具有很高的写性能,但是读比较慢。现实世界 大多数应用都是写多读少的,所以有人用leveldb作为数据库的存储引擎。直接使用leveldb 的项目比较少见,最常见的是使用 rocksdb,rocksdb是facebook基于leveldb的项目,做了 一些优化…