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,在实例崩溃之后快速恢复数据