缓存机制

LightPHP框架在数据缓存有着突出的表现

使用数据缓存不仅能减轻服务器负荷,也能为客户端访问大大节约反应时间,LightPHP框架数据缓存遵循的是“数据更新,缓存更新原则。如需第三方缓存自行编写方如Extend目录下。

强烈建议用户使用缓存方法操作数据库,因为框架的缓存操作十分简便只要用$this->C()方法就可实现,无需过多设置与操作

下面列出CRUD的操作

$this->C()->findAll($this->table,$sql);
$this->C($id)->findOne($this->table,$sql);

$this->C()->insert($this->table,"title:$GP[title],content:$GP[content],time:$time ");
$this->C($id)->update($this->table,"title:$GP[title],content:$GP[content]", "id:$id" );

$this->C($id)->delete($this->table, "id:$id");

数据操作分为三种:
1.使用$this->C()方法用户可以传入缓存的唯一标识以便框架有针对性地更新缓存文件和时间文件,唯一标识建议用记录的ID值,只有

在查找单条记录和更新时需要,删除操作只是为达到删除该缓存文件目的不影响到缓存同步。

2.若网站更新操作不是很频繁的话,也可省略C方法中的参数同样可达到满意的效果。

3.如果用户确定不使用缓存那么在C方法中传入-1如:$this->C(-1])。。。。

第一种,所有缓存可异步更新;

第二种,所有缓存同步更新,即数据表中只要有一条记录更新,那么所有记录都会更新缓存,此缓存适用于更新不太频繁的网站

第三种,不使用缓存

FramkPHP框架虽然能自动完成缓存更新,但仍然保留了延迟缓存的功能,我们可以在查询方法中传入第三个参数进行缓存延迟如:

$this->C($id)->findOne($this->table,$sql,60);

延迟60秒更新缓存,这样就实现了数据的局部延迟更新。
也可在配置文件里设置全局性的缓存延迟更新
'ExpireCTime' =>0, //缓存延迟时间,全局性的缓存延迟

删除缓存
$this->C()->clear($this->table.'/');

删除该数据表文件夹下的所有缓存