Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Caching-Technologien gibt es in PHP?

Welche Caching-Technologien gibt es in PHP?

一个新手
一个新手Original
2017-09-06 17:45:107592Durchsuche

Zu den PHP-Caching-Technologien gehören: 1. Statisches Caching der gesamten Seite; 3. Caching der Daten; 6. Caching des Speichers; Cache-Modul; 8. PHP-APC-Cache-Erweiterung; 9. Opcode-Cache.

Welche Caching-Technologien gibt es in PHP?

Der PHP-Cache umfasst den PHP-Kompilierungscache und den PHP-Datencache. PHP ist eine interpretierte Sprache, die gleichzeitig kompiliert und ausgeführt wird. Der Vorteil dieser Betriebsart besteht darin, dass die Programmänderung sehr komfortabel ist, die Betriebseffizienz jedoch sehr gering ist.

Der PHP-Kompilierungscache wurde verbessert, um mit dieser Situation umzugehen, sodass die PHP-Sprache die Kompilierungsergebnisse des Programms zwischenspeichern kann, solange es einmal ausgeführt wird.

9 wichtige Caching-Technologien in PHP

1. Ganzseitiges statisches Caching

Das heißt Das heißt, alle Seiten werden in statische HTML-Seiten generiert, wenn Benutzer sie besuchen, ohne den PHP-Server-Analyseprozess zu durchlaufen. Diese Methode wird häufiger in CMS-Systemen wie dedecms verwendet. Eine häufigere Implementierungsmethode ist die Verwendung von Ausgabe-Caching:

Ob_start()****** zum Ausführen des Codes * ******$content = Ob_get_contents();****Schreibe den zwischengespeicherten Inhalt in die HTML-Datei*****Ob_end_clean();

2. Teilweiser Cache der Seite

Diese Methode besteht darin, die Teile einer Seite, die sich nicht häufig ändern, statisch zwischenzuspeichern, während die sich häufig ändernden Blöcke nicht zwischengespeichert und schließlich zur Anzeige zusammengefügt werden. Dies kann mithilfe einer Methode implementiert werden ähnlich wie ob_get_contents, oder Sie können Seitenfragment-Caching-Strategien wie ESI verwenden, um relativ statische Fragmente in dynamischen 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 Zwischenspeichern von Daten. Wenn beispielsweise bestimmte Produktinformationen im Einkaufszentrum mithilfe der Produkt-ID angefordert werden, werden Daten einschließlich Geschäftsinformationen, Produktinformationen und anderen Daten abgerufen. Zu diesem Zeitpunkt können diese Daten in einer PHP-Datei zwischengespeichert werden. und der Dateiname enthält die Produkt-ID, um eine eindeutige Kennung zu erstellen. Wenn jemand dieses Produkt das nächste Mal anzeigen möchte, passt er zunächst die Informationen in dieser Datei an, ohne die Datenbank abzufragen ein PHP-Array oder ähnliches;

Diese Methode wird im Ecmall-Mall-System verwendet

Tatsächlich ist dies der Fall Die gleiche Idee wie beim Daten-Caching, bei dem die aus der Abfrage erhaltenen Daten in einer Datei zwischengespeichert werden. Wenn dieselbe Abfrage das nächste Mal auftritt, werden die Daten direkt aus dieser Datei abgerufen, ohne die Datenbank zu überprüfen. Allerdings muss hier möglicherweise der Name der Cache-Datei als Basispunkt abgefragt werden, um eine eindeutige Kennung festzulegen.

Caching basierend auf Zeitänderungen

Eigentlich handelt es sich hierbei nicht um eine echte Caching-Methode ; Die oben genannten Caching-Technologien 2, 3 und 4 verwenden im Allgemeinen eine Zeitänderungsbeurteilung. Das heißt, Sie müssen eine gültige Zeit für die zwischengespeicherte Datei festlegen. Wenn jedoch die eingestellte Cache-Zeit überschritten wird, müssen die Daten aus der Datenbank abgerufen und erstellt werden. Ich habe beispielsweise festgelegt, dass die Homepage unseres Einkaufszentrums alle 2 Stunden aktualisiert wird

5. Cache entsprechend Inhaltsänderungen

Dies ist auch nicht unabhängig. Die Caching-Technologie muss in Kombination verwendet werden, d. h. wenn der Datenbankinhalt geändert wird, wird die Cache-Datei sofort aktualisiert;

Zum Beispiel muss in einem Einkaufszentrum mit vielen Menschen und vielen Produkten der Produkttisch relativ groß sein, und der Druck auf diesen Tisch wird auch relativ groß sein Seite;

Wenn der Händler die Produktinformationen im Hintergrund ändert, klicken Sie auf Speichern, und wir aktualisieren gleichzeitig die Cache-Datei. Der Käufer greift dann auf die Produktinformationen zu Sie müssen nicht auf die Datenbank zugreifen.

Stellen Sie sich vor, wenn die Produktseite nicht zwischengespeichert ist, müssen Sie jedes Mal, wenn Sie auf ein Produkt zugreifen, in die Datenbank gehen, um es zu überprüfen Menschen, die Produkte online durchsuchen, stehen unter großem Druck.

6. In-Memory-Caching

Wenn es darum geht, fällt Ihnen vielleicht als Erstes ein ist Memcached; Memcached ist ein Hochleistungs-Cache-Server mit verteiltem Speicher. 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 sie direkt aus dem Speicher abgerufen. Die am häufigsten verwendete Methode ist die Schlüssel-Wert-Methode.

7. Das Apache-Cache-Modul

Nach der Installation von Apache 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.

<?php
$memcachehost = &#39;192.168.6.191&#39;;
$memcacheport = 11211;
$memcachelife = 60;
$memcache = new Memcache;
$memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");
$memcache->set(&#39;key&#39;,&#39;缓存的内容&#39;);
$get = $memcache->get($key); //获取信息
?>

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 = on
upload_max_filesize = 100M
post_max_size = 100M
apc.max_file_size = 200M
upload_max_filesize = 100 0M
post_max_size = 1000M
max_execution_time = 600; Der maximale Zeitwert (Sekunden) für die Ausführung jeder PHP-Seite, der Standardwert ist 30 Sekunden
max_input_time = 600; Die maximale Zeit, die jede PHP-Seite zum Empfangen von Daten benötigt, der Standardwert ist 60
128M; Der von jeder PHP-Seite verbrauchte Speicher beträgt maximal 8M

9. Wir wissen, dass der Ausführungsprozess von PHP kann in der folgenden Abbildung dargestellt werden

Zuerst wird der PHP-Code in Tokens analysiert, dann in Opcode-Code kompiliert und schließlich wird der Opcode-Code ausgeführt und das Ergebnis zurückgegeben ; Daher kann der Opcode für dieselbe PHP-Datei beim ersten Ausführen des Codes zwischengespeichert werden. Wenn Sie diese Seite das nächste Mal ausführen, finden Sie den zwischengespeicherten Opcode-Code direkt und führen den letzten Schritt direkt aus Zwischenschritte. Welche Caching-Technologien gibt es in PHP?

Die bekannteren sind XCache, Turck MM Cache, PHP Accelerator usw.

Weitere Informationen zu diesem Thema finden Sie auf der

PHP-Website für Chinesisch

! !

Das obige ist der detaillierte Inhalt vonWelche Caching-Technologien gibt es 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