缓存系统
缓存对于一个数据库读性能的影响十分巨大,倘若leveldb的每一次读取都会发生一次磁盘的IO,那么其整体效率将会非常低下。
Leveldb中使用了一种基于LRUCache的缓存机制,用于缓存:
- 已打开的sstable文件对象和相关元数据;
- sstable中的dataBlock的内容;
使得在发生读取热数据时,尽量在cache中命中,避免IO读取。在介绍如何缓存、利用这些数据之前,我们首先介绍一下leveldb使用的cache是如何实现的。
缓存对于一个数据库读性能的影响十分巨大,倘若leveldb的每一次读取都会发生一次磁盘的IO,那么其整体效率将会非常低下。
Leveldb中使用了一种基于LRUCache的缓存机制,用于缓存:
使得在发生读取热数据时,尽量在cache中命中,避免IO读取。在介绍如何缓存、利用这些数据之前,我们首先介绍一下leveldb使用的cache是如何实现的。
本文档使用 WanXiangYunDang 构建