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