Heim  >  Artikel  >  php教程  >  Ich möchte die verschiedenen Caches von PHP verstehen, bitte geben Sie mir einen Rat.

Ich möchte die verschiedenen Caches von PHP verstehen, bitte geben Sie mir einen Rat.

WBOY
WBOYOriginal
2016-11-19 13:05:221496Durchsuche

Ich möchte den Cache leeren und bitte die Passanten, mehr zu kommentieren
1. Statisches Caching der gesamten Seite
Das heißt, alle Seiten werden in statische HTML-Seiten generiert, wenn Benutzer sie besuchen, ohne den PHP-Server-Analyseprozess zu durchlaufen. Diese Methode ist in CMS-Systemen häufiger anzutreffen, z. B. dedecms;
Eine der gebräuchlichsten Implementierungsmethoden ist die Verwendung von Ausgabe-Caching:

Ob_start()
******Code zum Ausführen***************
$content = Ob_get_contents();
****Zwischengespeicherten Inhalt in eine HTML-Datei schreiben*****
Ob_end_clean();
2. Teilweises Zwischenspeichern von Seiten
Bei dieser Methode werden die sich selten ändernden Teile einer Seite statisch zwischengespeichert, während sich häufig ändernde Blöcke nicht zwischengespeichert und schließlich zur Anzeige zusammengefügt werden. Dies kann mit einer Methode ähnlich wie ob_get_contents oder mit Seiten wie ESI erreicht werden Die Caching-Strategie wird verwendet, um relativ statische Fragmentteile dynamischer Seiten zwischenzuspeichern (ESI-Technologie, bitte Baidu, hier nicht näher beschrieben).

Diese Methode kann für Produktseiten in Einkaufszentren verwendet werden
3. Daten-Caching
Wie der Name schon sagt, handelt es sich um eine Möglichkeit zum Zwischenspeichern von Daten. Wenn beispielsweise bestimmte Produktinformationen im Einkaufszentrum mithilfe der Produkt-ID angefordert werden, können Daten wie Geschäftsinformationen, Produktinformationen usw. abgerufen werden Daten können zwischengespeichert werden. In einer PHP-Datei enthält der Dateiname die Produkt-ID, um eine eindeutige Kennung zu erstellen. Wenn jemand dieses Produkt das nächste Mal anzeigen möchte, passt er die Informationen in dieser Datei zunächst direkt an, ohne die Datenbank abzufragen , was in der Cache-Datei zwischengespeichert wird, ist ein PHP-Array und dergleichen

Diese Methode wird im Ecmall-Einkaufszentrumssystem verwendet
4. Cache abfragen
Tatsächlich handelt es sich dabei um die gleiche Idee wie beim Daten-Caching, bei dem die durch die Abfrage erhaltenen Daten in einer Datei zwischengespeichert werden. Wenn dieselbe Abfrage das nächste Mal auftritt, werden die Daten direkt aus dieser Datei übertragen Datei ohne Zurückgehen. Fragen Sie die Datenbank ab. Der Name der Cache-Datei muss jedoch möglicherweise auf der Abfrageanweisung basieren
Cache nach Zeitänderung

Tatsächlich handelt es sich hierbei nicht um eine echte Caching-Methode; die oben genannten Caching-Technologien verwenden im Allgemeinen eine Zeitänderungsbeurteilung, das heißt, Sie müssen eine gültige Zeit für zwischengespeicherte Dateien festlegen Rufen Sie zuerst den Inhalt der Cache-Datei ab, aber wenn die eingestellte Cache-Zeit überschritten wird, müssen Sie die Daten erneut aus der Datenbank abrufen und die neueste Cache-Datei erstellen. Ich habe beispielsweise festgelegt, dass die Homepage unseres Einkaufszentrums alle aktualisiert wird 2 Stunden;

5. Cache entsprechend Inhaltsänderungen
Dies ist keine unabhängige Caching-Technologie und muss in Kombination verwendet werden. Das heißt, wenn der Datenbankinhalt geändert wird, wird die Cache-Datei sofort aktualisiert In einem Einkaufszentrum mit viel Verkehr und vielen Produkten muss die Produkttabelle beispielsweise relativ groß sein, und der Druck auf diese Tabelle ist ebenfalls groß
Wenn der Händler die Produktinformationen im Hintergrund ändert, klicken Sie auf Speichern. Gleichzeitig aktualisieren wir die Cache-Datei. Wenn der Käufer dann auf die Produktinformationen zugreift, greift er tatsächlich auf eine statische Seite zu und muss nicht darauf zugreifen Datenbank;

Stellen Sie sich vor, wenn die Produktseite nicht zwischengespeichert ist, müssen Sie jedes Mal, wenn Sie auf ein Produkt zugreifen, die Datenbank überprüfen. Wenn 100.000 Menschen das Produkt online durchsuchen, ist der Druck auf dem Server groß
6. Speichercache
Wenn es darum geht, fällt jedem als Erstes Memcached ein; Memcached ist ein leistungsstarker verteilter Speicher-Cache-Server. Der allgemeine Verwendungszweck besteht darin, die Anzahl der Datenbankzugriffe durch Zwischenspeichern von Datenbankabfrageergebnissen zu reduzieren, um die Geschwindigkeit und Skalierbarkeit dynamischer Webanwendungen zu erhöhen.

Es speichert die Informationen, die zwischengespeichert werden müssen, im Systemspeicher. Wenn die Informationen abgerufen werden müssen, wird die am häufigsten verwendete Methode
verwendet
$memcachehost = '192.168.6.191';
$memcacheport = 11211;
$memcachelife = 60;
$memcache = neuer Memcache;
$memcache->connect($memcachehost,$memcacheport) oder die („Verbindung konnte nicht hergestellt werden“);
$memcache->set('key','cached content');
$get = $memcache->get($key); //Informationen abrufen
?>
7. Apache-Cache-Modul
Nachdem Apache installiert wurde, darf es nicht zwischengespeichert werden. Wenn ein externer Cache oder Squid-Server eine Webbeschleunigung erfordert, muss diese in httpd.conf festgelegt werden. Voraussetzung ist natürlich, dass das mod_cache-Modul bei der Installation von Apache aktiviert werden muss.

Bei der Installation von Apache: ./configure –enable-cache –enable-disk-cache –enable-mem-cache

8. PHP-APC-Cache-Erweiterung
PHP verfügt über eine APC-Cache-Erweiterung, die unter Windows php_apc.dll lautet. Sie müssen dieses Modul zuerst laden und es dann in php.ini konfigurieren:

[apc]
extension=php_apc.dll
apc.rfc1867 = auf
upload_max_filesize = 100M
post_max_size = 100M
apc.max_file_size = 200M
upload_max_filesize = 1000M
post_max_size = 1000M
max_execution_time = 600; Maximaler Zeitwert (Sekunden) für die Ausführung jeder PHP-Seite, Standard 30 Sekunden
max_input_time = 600; Die maximale Zeit, die jede PHP-Seite zum Empfangen von Daten benötigt, Standard 60
memory_limit = 128M; Der maximale Speicherverbrauch jeder PHP-Seite, Standard 8M
9. Opcode-Cache
Wir wissen, dass der Ausführungsprozess von PHP in der folgenden Abbildung dargestellt werden kann:
Bildbeschreibung
Zuerst wird der PHP-Code in Tokens geparst, dann in Opcode-Code kompiliert und schließlich wird der Opcode-Code ausgeführt und das Ergebnis zurückgegeben. Daher kann der Opcode-Code für dieselbe PHP-Datei bei der ersten Ausführung zwischengespeichert werden. und wenn die Seite das nächste Mal ausgeführt wird, findet sie den Opcode-Code direkt im Cache und führt den letzten Schritt direkt aus, ohne dass Zwischenschritte erforderlich sind.

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