創(chuàng)建緩存頁面:
一般情況,CI的頁面緩存只需要再控制里面加上:
$this->output->cache(1); //表示緩存一分鐘
即可!
CodeIgniter框架會(huì)自動(dòng)在緩存文件夾創(chuàng)建一個(gè)頁面緩存文件,一分鐘之后會(huì)從新生成一次,覆蓋原來的緩存文件,沒有則創(chuàng)建緩存文件。
需要注意的是,對(duì)緩存來說,頁面/ceshi/huancun/index 和 /ceshi/huancun 是兩個(gè)不同的頁面,會(huì)生成兩個(gè)緩存。
刪除緩存頁面
刪除緩存頁面的方法是:
$this->output->delete_cache('/ceshi/huancun/index');
可以看出,只需要將完整的頁面地址給到方法即可刪除對(duì)應(yīng)的緩存頁面文件。
需要注意的是,刪除緩存頁面的方法,如果放在的要?jiǎng)h除該頁面對(duì)應(yīng)的控制器里面,則刪除緩存頁面的方法無效,必須是非該刪除頁面的才可以
另外附上修改CI生成緩存的核心文件
在我實(shí)際的項(xiàng)目中,以后時(shí)候需要對(duì)頁面緩存做二次操作,我們可以簡化CI生成的方式,找到
systemcoreOutput.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, '/'));
這樣,以后如果要對(duì)緩存操作,想知道緩存文件的名稱只需要MD5($this->uri->uri_string())即可!