2012-05-18 27 views
5

我有一個構建於CI 2.1.0上的博客型應用程序。 當我添加Codeigniter緩存 - 在新帖子後刷新的建議

$this->output->cache(5); 

到我的控制器,CI正確緩存的頁面,並快速載入。

我的問題是,如果有人對該帖子發表評論,直到緩存過期纔會顯示該評論。

我不知道是否有人對如何強制緩存刷新每次有一個變化的特定網頁,或後編輯而成,等

在此先感謝指針。

回答

5

從CodeIgniter的文檔:

如果您不再希望緩存文件可以刪除緩存標籤 和到期時將不再刷新。注意:刪除 標籤不會立即刪除緩存。它通常必須到期 。如果您需要提前將其刪除,您需要手動將其從緩存文件夾中刪除。

對於編程刪除緩存文件,你可以使用

CodeIgniter Cache Helper

下面這個函數將刪除緩存文件

function delete_cache($uri_string) 
    { 
     $CI =& get_instance(); 
     $path = $CI->config->item('cache_path'); 
     $cache_path = ($path == '') ? APPPATH.'cache/' : $path; 

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

     $cache_path .= md5($uri); 

     if (file_exists($cache_path)) 
     { 
      return unlink($cache_path); 
     } 
     else 
     { 
      return TRUE; 
     } 
    } 
+0

當然,我不想手動刪除,因爲我不知道哪些緩存的文件指向已更新的頁面 - 如何有選擇地刪除該程序更新文件? – pepe