1 如果BufferPool中缓存页不够了怎么办
2 缓存命中率概念的引入
缓存命中率就是指在单位时间内,有多少次请求是打到当前缓存页上去的。比如我再1s内有100个请求,其中30个是请求到一个缓存页的,那么就可以说这个缓存页的缓存命中率是30%。相比之下很高了。
如果100个请求只有一次被命中,那么我们可以说这个缓存命中率有点低。因为大部分请求还是走的其他缓存或者直接操作磁盘的。如果要腾位置,肯定是对第二个进行腾位置。
3 LRU是什么算法
LRU是指最近最少使用算法,Least Recently Used 最近最少使用的意思。
通过一个LRU链表,我们就可以知道哪些缓存页是最近最少被使用的。
LRU链表可以这么做,就是把最近使用过的数据插到头部位置,这样就保证最近使用的在前面,也可以因为一直往前面插保证最多使用的也在最前面,当需要一个新的缓存页空间的时候,就可以把链表的最后一个给清除位置,给当前这个数据页使用。
