Heim > Backend-Entwicklung > PHP-Problem > Wie kann PHP keinen Cache generieren?

Wie kann PHP keinen Cache generieren?

PHPz
Freigeben: 2023-05-06 22:00:07
Original
764 Leute haben es durchsucht

In der Webentwicklung bereitet Caching oft Kopfschmerzen. Obwohl Caching die Zugriffsgeschwindigkeit und Leistung der Website verbessern kann, hoffen wir manchmal, auf Caching zu verzichten und die Daten bei jeder Anfrage erneut abzurufen, um die Aktualität und Genauigkeit der Daten sicherzustellen. In PHP gibt es viele Methoden, um den Effekt zu erzielen, dass kein Cache generiert wird. In diesem Artikel werden diese Methoden ausführlich vorgestellt.

  1. Header-Header-Informationen festlegen

In PHP können Sie das Caching steuern, indem Sie Header-Header-Informationen festlegen. Der folgende Code zeigt, wie man die Header-Header-Informationen festlegt, um das Caching zu deaktivieren:

<?php
  header("Expires: Tue, 26 Jul 1970 05:00:00 GMT");
  header("Cache-Control: no-cache, must-revalidate");
  header("Pragma: no-cache");
?>
Nach dem Login kopieren

Im obigen Code ist das Feld „Expires“ auf eine vergangene Zeit gesetzt, sodass der Browser davon ausgeht, dass die Seite abgelaufen ist, und sie nicht zwischenspeichert; Cache-Control-Feld und Pragma-Feld Beide sind auf „No-Cache“ eingestellt, sodass der Browser die Seite nicht zwischenspeichert. Nach dem Festlegen der Header-Header-Informationen werden die Daten für jede Anforderung erneut abgerufen, anstatt die Daten aus dem Cache zu lesen.

  1. Verwenden Sie die Funktion session_cache_limiter

Die Funktion session_cache_limiter ist eine Funktion, die mit PHP geliefert wird und zur Steuerung des Caches verwendet werden kann. Der folgende Code zeigt, wie Sie die Funktion „session_cache_limiter“ verwenden, um das Caching zu deaktivieren:

<?php
  session_cache_limiter("nocache");
  session_start();
?>
Nach dem Login kopieren

Im obigen Code wird die Funktion „session_cache_limiter(“nocache“) aufgerufen, was bedeutet, dass dem Browser das Zwischenspeichern dieser Seite untersagt wird. Mit der Funktion session_cache_limiter wird das Caching aller Ausgaben verhindert, einschließlich der Inhaltsausgabe über die Echo-Funktion.

  1. OPcache-Modul deaktivieren

OPcache ist ein offiziell von PHP bereitgestelltes Beschleunigermodul, das kompilierten Code zwischenspeichern kann, um die Leistung zu verbessern. Aber manchmal möchten wir OPcache deaktivieren, um sicherzustellen, dass der Code bei jeder Anfrage erneut ausgeführt wird, um die neuesten Ergebnisse zu erhalten. Der folgende Code zeigt, wie das OPcache-Modul deaktiviert wird:

<?php
  ini_set("opcache.enable", 0);
?>
Nach dem Login kopieren

Im obigen Code wird die Funktion ini_set("opcache.enable", 0) aufgerufen, die angibt, dass das OPcache-Modul deaktiviert ist. Durch die Verwendung dieser Methode wird sichergestellt, dass der Code bei jeder Anfrage erneut ausgeführt wird.

  1. Vermeiden Sie die Verwendung von ETag

ETag ist eine Kennung, die im HTTP-Protokoll verwendet wird, um festzustellen, ob eine Ressource geändert wurde. Wenn ein Browser eine Ressource anfordert, generiert der Server ein ETag basierend auf dem Inhalt der Ressource und sendet es dann an den Browser. Wenn dieselbe Ressource das nächste Mal angefordert wird, sendet der Browser das zuletzt erhaltene ETag an den Server, und der Server verwendet dieses ETag, um festzustellen, ob die Ressource geändert wurde. Wenn die Ressource nicht geändert wurde, wird der Statuscode 304 Not Modified zurückgegeben und der Browser ruft die Ressource aus dem Cache ab. Um Caching zu vermeiden, können wir die Verwendung von ETag vermeiden. Hier ist ein Beispiel:

<?php
  header("ETag: ");
?>
Nach dem Login kopieren

Setzen Sie im obigen Code das ETag auf eine leere Zeichenfolge, sodass der Server jedes Mal, wenn der Browser dieselbe Ressource anfordert, nicht erkennen kann, ob die Ressource vorhanden ist geändert wurde, gibt den Inhalt der Ressource direkt zurück, anstatt den Statuscode 304 Nicht geändert zurückzugeben. Dadurch wird sichergestellt, dass die Ressource bei jeder Anfrage erneut abgerufen wird.

  1. Cache löschen

Zusätzlich zu den oben genannten Methoden besteht eine weitere mögliche Methode darin, den Cache zu löschen. Sie können die Funktion „Unlink“ verwenden, um Dateien in PHP zu löschen. Hier ist ein Beispiel:

<?php
  $filename = "cache.txt";
  if(file_exists($filename)){
    unlink($filename);
  }
?>
Nach dem Login kopieren

Verwenden Sie im obigen Code die Funktion „Unlink“, um die Datei „cache.txt“ zu löschen. Wenn Sie den Cache löschen müssen, können Sie die Cache-Dateien mit dieser Methode löschen.

Zusammenfassung

Bei der Webentwicklung ist Caching ein wichtiger Gesichtspunkt. Obwohl Caching die Website-Leistung effektiv verbessern kann, möchten wir manchmal das Caching deaktivieren, um die Aktualität und Genauigkeit der Daten sicherzustellen. In diesem Artikel werden fünf Methoden zum Deaktivieren des Cachings in PHP vorgestellt, darunter das Festlegen von Header-Header-Informationen, die Verwendung der Funktion session_cache_limiter, das Deaktivieren des OPcache-Moduls, das Vermeiden der Verwendung von ETag und das Löschen des Caches. Durch die Verwendung der oben genannten Methode kann der Cache der Seite effektiv gesteuert und sichergestellt werden, dass die Daten bei jeder Anfrage erneut abgerufen werden.

Das obige ist der detaillierte Inhalt vonWie kann PHP keinen Cache generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage