萬象時代LOGO
  • 萬象時代微信 萬象時代微信服務號
  • 點擊訪問萬象時代新浪微博 萬象時代微信服務號
  • 萬象時代_服務熱線

新聞資訊

News

CodeIgniter3中關于頁面緩存的生成與刪除

DATE:2017-09-27 已瀏覽
463
在稍微復雜的項目中,CI框架通常會用到頁面的緩存,那么在實際中需要注意的是創建和刪除頁面會有對應的方法可尋,下面我們就來介紹一下。

創建緩存頁面:
一般情況,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())即可!


黄大仙心水论坛