创建缓存页面:
一般情况,CI的页面缓存只需要再控制里面加上:

$this->output->cache(1);   //表示缓存一分钟

即可!
CodeIgniter框架会自动在缓存文件夹创建一个页面缓存文件,一分钟之后会从新生成一次,覆盖原来的缓存文件,没有则创建缓存文件。

需要注意的是,对缓存来说,页面/ceshi/huancun/index 和 /ceshi/huancun 是两个不同的页面,会生成两个缓存。

删除缓存页面
删除缓存页面的方法是:

$this->output->delete_cache('/ceshi/huancun/index');

可以看出,只需要将完整的页面地址给到方法即可删除对应的缓存页面文件。

需要注意的是,删除缓存页面的方法,如果放在的要删除该页面对应的控制器里面,则删除缓存页面的方法无效,必须是非该删除页面的才可以

另外附上修改CI生成缓存的核心文件
在我实际的项目中,以后时候需要对页面缓存做二次操作,我们可以简化CI生成的方式,找到
\system\core\Output.php
1、在第653行将:

$uri = $CFG->item('base_url').$CFG->item('index_page').$URI->uri_string;

修改为:

$uri = $URI->uri_string;

2、在第555行将:

$uri = $CI->config->item('base_url').$CI->config->item('index_page').$CI->uri->uri_string();

修改为:

$uri = $CI->uri->uri_string();

3、在第759行将:

$cache_path .= md5($CI->config->item('base_url').$CI->config->item('index_page').ltrim($uri, '/'));

修改为:

$cache_path .= md5(ltrim($uri, '/'));

这样,以后如果要对缓存操作,想知道缓存文件的名称只需要MD5($this->uri->uri_string())即可!

最后由 巴巴爸爸 编辑于2017年09月27日 17:10