Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen Sie verschiedene Möglichkeiten zum Leeren des Caches in PHP

Teilen Sie verschiedene Möglichkeiten zum Leeren des Caches in PHP

小云云
小云云Original
2018-05-15 17:08:053037Durchsuche

Das Projekt, das jetzt entwickelt wird, verwendet Version tp3.1. Während des Entwicklungsprozesses treten häufig Probleme mit dem Seiten-Caching auf (insbesondere beim Zwischenspeichern von HTML). Die Daten sind immer noch die alte Version, haha, also müssen wir den Cache jedes Mal rechtzeitig leeren.

Es gibt etwa drei Möglichkeiten, den Cache zu leeren (alle zusammengefasst aus tatsächlichen Erfahrungen):

Erstens: Fügen Sie die folgenden zwei Codezeilen zur Konfigurationsdatei config.php des Projekts hinzu. Vermeiden Sie Caching-Probleme

 'TMPL_CACHE_ON' => false,//禁止模板编译缓存 
 'HTML_CACHE_ON' => false,//禁止静态缓存

Ich werde diese beiden Codezeilen hier nicht erklären

Zweitens: Das Cache-Verzeichnis des TP-Frameworks wird jedes Mal im Ordner public_htmlAppRuntime gespeichert Nachdem die Entwicklung abgeschlossen ist, löschen Sie alle darin enthaltenen Dateien manuell (es fühlt sich etwas gewalttätig und dumm an), aber diese Methode ist die dümmste. Test- und Online-Umgebungen können nicht ohne Erlaubnis gelöscht werden Kapitel drei: Ich habe die Clear-Cache-Klasse selbst geschrieben. Wir können unsere eigene „Clear-Cache“-Klasse im selben Verzeichnis wie der Business-Controller erstellen (die Kernidee besteht darin, die mit dem TP-Framework gelieferte Cache-Klasse für den Betrieb zu verwenden. Sie können Finden Sie den Quellcode des TP-Frameworks. Löschen Sie den Cache über den URL-Zugriff. Der

-Code lautet wie folgt:

Die Clear-Funktion löscht tatsächlich die Cache-Datei.

// +----------------------------------------------------------------------
// | Copyright (c) 2007-2009 
// +----------------------------------------------------------------------
// $Id: ClearAction.class.php 668 2016-05-03 11:43:12Z chenhaibo $
/**
 +------------------------------------------------------------------------------
 * 清除缓存
 +------------------------------------------------------------------------------
 * @author haibo <chenhaibo0806@163.com>
 * @version $Id: ClearAction.class.php 668 2016-05-03 11:43:12Z chenhaibo $
 +------------------------------------------------------------------------------
 */
class ClearAction extends Action{
/**
+----------------------------------------------------------
* 清除缓存
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return void
+----------------------------------------------------------
*/
public function clearcache() {
 $_token = isset($_GET[&#39;token&#39;]) ? trim($_GET[&#39;token&#39;]) : &#39;&#39;;
 $_operate = isset($_GET[&#39;operate&#39;]) ? trim($_GET[&#39;operate&#39;]) : &#39;&#39;;
 
 $_option = array();
 if($_operate == &#39;runtime&#39;) $_option[&#39;temp&#39;] = RUNTIME_PATH; //各种缓存数据存放目录
 if($_operate == &#39;cache&#39;) $_option[&#39;temp&#39;] = CACHE_PATH;
 if($_operate == &#39;data&#39;) $_option[&#39;temp&#39;] = DATA_PATH;
 if($_operate == &#39;fields&#39;) $_option[&#39;temp&#39;] = DATA_PATH."/_fields";
 
 import(&#39;Think.Util.Cache.CacheFile&#39;);
 $CacheFile = new CacheFile($_option);
 $CacheFile->clear();
 echo &#39;success&#39;;
 }

Geben Sie die Adresse in die Adressleiste des Browsers ein:

http://test.xxx.cn/Clear-clearcache? opera =fields //Testumgebung

http://www.xxx.cn/Clear-clearcache?operate=fields //Formale Umgebung

Verwandte Empfehlungen:

Zusammenfassung der Methoden zum Löschen des Caches in PHP

Beispielcodefreigabe, wie Javascript den Cache erhält und die Cache-API löscht

PHP Das Zeichnen von Bildern ist fehlgeschlagen. Das Problem lässt sich mithilfe von „Cache leeren ob_clean“ lösen.

Das obige ist der detaillierte Inhalt vonTeilen Sie verschiedene Möglichkeiten zum Leeren des Caches in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn