Heim >Backend-Entwicklung >PHP-Problem >So leeren Sie den Cache, wenn PHP beendet wird

So leeren Sie den Cache, wenn PHP beendet wird

hzc
hzcOriginal
2020-06-05 11:17:132881Durchsuche

So leeren Sie den Cache, wenn PHP beendet wird

So leeren Sie den Cache, wenn PHP beendet wird Cache:

Das zu entwickelnde Projekt verwendet jetzt die tp3.1-Version , wir werden oft auf Probleme beim Seiten-Caching stoßen (insbesondere beim HTML-Caching); nach dem Aktualisieren sind die Daten immer noch die alte Version, und nach dem Aktualisieren fange ich langsam an, am Leben zu zweifeln, haha; Im Entwicklungsprozess müssen wir den Cache jedes Mal rechtzeitig löschen.

Es gibt ungefähr 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, um Cache-Probleme zu vermeiden

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 im Ordner public_htmlAppRuntime gespeichert und alle darin enthaltenen Inhalte werden anschließend manuell gelöscht Jede Entwicklung ist abgeschlossen. Datei

(fühlt sich ein bisschen gewalttätig und dumm an), aber diese Methode ist die dümmste. Testen und Online-Umgebungen können nicht ohne Erlaubnis gelöscht werden Mit meiner Klasse können wir unsere eigene Klasse „Cache löschen“ im selben Verzeichnis wie der Geschäftscontroller erstellen (die Kernidee besteht darin, die mit dem TP-Framework gelieferte Cache-Klasse für den Betrieb zu verwenden. Sie können einen Blick auf den Quellcode werfen Das TP-Framework), auf das über die URL zugegriffen wird. Um den Cache zu leeren, lautet der Code wie folgt:

public function clearcache() {
   $_token = isset($_GET['token']) ? trim($_GET['token']) : '';
   $_operate = isset($_GET['operate']) ? trim($_GET['operate']) : '';
   $_option = array();
   if($_operate == 'runtime') $_option['temp'] = RUNTIME_PATH;  //各种缓存数据存放目录
   if($_operate == 'cache') $_option['temp'] = CACHE_PATH;
   if($_operate == 'data') $_option['temp'] = DATA_PATH;
   if($_operate == 'fields') $_option['temp'] = DATA_PATH."/_fields";
   import('Think.Util.Cache.CacheFile');
   $CacheFile = new CacheFile($_option);
   $CacheFile->clear();
   echo 'success';
  }
}
clear函数其实就是删除缓存文件。

So leeren Sie den Cache, wenn PHP beendet wirdGeben Sie die Adresse in die Adressleiste des Browsers ein:

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

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

Im Grunde sind es diese, ich hoffe, es wird hilfreich sein. Jeder hilft.

Empfohlenes Tutorial: „

PHP-Tutorial

Das obige ist der detaillierte Inhalt vonSo leeren Sie den Cache, wenn PHP beendet wird. 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