CI3使用网页缓存
开启缓存
将下面的代码放到任何一个控制器的方法内,你就可以开启缓存了:
$this->output->cache($n);
其中 $n 是缓存更新的时间(单位分钟)。
上面的代码可以放在方法的任何位置,它出现的顺序对缓存没有影响, 所以你可以把它放到任何你认为合理的地方。一旦该代码被放在方法内, 你的页面就开始被缓存了。
重要
由于 CodeIgniter 存储缓存的方式,只有通过 view 输出的页面才能缓存。
重要
如果你修改了可能影响页面输出的配置,你需要手工删除掉 你的缓存文件。
注解
在写入缓存文件之前,你需要把 application/cache/ 目录的权限 设置为可写。
删除缓存
如果你不再需要缓存某个页面,你可以删除掉该页面上的缓存代码, 这样它在过期之后就不会刷新了。
注解
删除缓存代码之后并不是立即生效,必须等到缓存过期才会生效。
如果你需要手工删除缓存,你可以使用 delete_cache() 方法:
// 删除当前请求的URI的缓存
$this->output->delete_cache(); //缓存文件等到缓存过期才会删除
// 删除/foo/bar的缓存
$this->output->delete_cache('/foo/bar'); //立即删除缓存文件
public function aaa() //不能作用于index方法
{
$this->output->cache(1);
$data = $this->input->server('REQUEST_URI');
$this->load->view('welcome_message', $data);
}
function del_ch()
{
$del_id = $this->uri->segment(3);
$str = "/welcome/aaa/$del_id"; //不能作用于index方法,index方法的缓存无法删除
$this->output->delete_cache($str);
echo 'OK';
}