page对应到内存就是一个个的buffer,每个buffer分为三种状态:
- free buffer—buffer没被使用过
- clean buffer—buffer和page数据一致
- dirty buffer—内存中新写入的数据还没有刷新到磁盘
三种不同的buffer状态衍生出三条不同的链表
- free list—串联free buffer
- lru list—串联数据一致且少被使用的buffer,并将他们释放出free buffer
- flush list—把dirty buffer串联起来,方便刷新线程把脏数据刷到磁盘。且推进checkpoint lsn,在实例崩溃之后快速恢复数据