2012-05-18 3 views
5

Ich habe eine Blog-App auf CI 2.1.0 gebaut. Als ichCodeigniter Caching - Vorschläge zum Aktualisieren nach neuen Post

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

meinen Controller hinzufügen, CI-Caches richtig die Seite, und es lädt schnell.

Mein Problem ist, dass der Kommentar erst angezeigt wird, wenn der Cache abläuft, wenn der Beitrag kommentiert wird.

Ich frage mich, ob jemand Hinweise, wie eine Cache-Aktualisierung jedesmal zu zwingen, gibt es eine Änderung auf die jeweilige Seite, oder wenn ein Post bearbeitet wird, usw.

Vielen Dank im Voraus.

Antwort

5

Von der CodeIgniter Dokumentation:

Wenn Sie nicht mehr eine Datei in den Cache möchten, können Sie das Caching-Tag entfernen und es wird nicht mehr aktualisiert werden, wenn es abläuft. Hinweis: Durch das Entfernen des Tags wird der Cache nicht sofort gelöscht. Es muss normalerweise ablaufen. Wenn Sie es früher entfernen müssen Sie manuell löschen Sie es aus Ihrem Cache-Ordner.

Für programmatisch die Cache-Datei löschen können Sie

CodeIgniter Cache Helper

Hier verwenden diese Funktion wird die Cache-Datei

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

natürlich möchte ich nicht manuell löschen, da ich nicht sicher bin, welche der zwischengespeicherten Dateien auf die Seite verweist, die aktualisiert wurde - wie würde man diese Datei bei der programmgesteuerten Aktualisierung selektiv löschen? – pepe

Verwandte Themen