在Leveldb中,用户可以将自定义的Cache逻辑传入Option中,默认使用的是LRU算法实现,下面是实现类图: 其中LRUHandle是存放数据的node LRUCache实现具体的Insert,lookup等操作,而ShardedLRUCache中又实现分片包含多个LRUCache。 HandleTable是自己实现的一
在Leveldb中,用户可以将自定义的Cache逻辑传入Option中,默认使用的是LRU算法实现,,下面是实现类图:
Lookup:
1.将key做hash寻找相应的LRUCache
2.在HandleTable中查找是否存在该数据,若存在则调整相应位置
个人博客:?p=72