推荐文章 New Blog
sqlite缓存机制学习
SQLITE的模块性很强,缓存模块也是一样的,SQLITE提供了多种缓存机制可以选择,默认的是Pcache1。SQLITE缓存的管理是通过Pager管理的,下面通过Pcache提供一个接口,开发者可以自己编写自己的缓存策略。默认的缓存机制比较简单,也比较常用,算法使用的是LRU(最近最少使用算法),具体的实现,SQLITE使用了一个Hash表,两个LRU链表。如下图:1、hash表主要是加快对缓存中数据页的查找速度。SQLite是通过页号来进行hash操作的,hash后将其挂到对应的Hash链表上。2、LRU链表有两种,都是双向链表。一种是脏页链表,一个是干净页链表(没有修改过的页)。SQLite对hash表中页进行一次操作,就会将该页放到LRU链表的头部,因为该页是最近最常用到的。对于缓存的使用一般分成3步:1》查找缓存中是否存在该页,存在返回该页,不存在到第二步...Aug. 2, 2015, 10:51 p.m.作者:zachary分类:数据库阅读(1885)评论(0)