task 1 实现 LRU-k
Evivt
, 从缓冲里淘汰掉一个页- 当缓冲满的时候
RecordAcess
, 记录下这个访问的页的页 id 以及时间戳- 当一个页被访问时,需要进行
pin
,一般这个操作位于pin
之后
- 当一个页被访问时,需要进行
Remove
, 清空一个页的历史访问记录- 当一个页被从 BFM 中删除时才调用
SetEvictable
, 设置一个页的状态为可以被删除或者不可以被删除,显然当pin
的计数为0时,可以调用设置为可以被删除。Size
, 返回当前的可淘汰的页的数量
- 读取一个页
- 在 buffer 里面
- 不在 buffer 里面
- 写一个页
- 在 buffer 里面
- 不在 buffer 里面