Heim >Backend-Entwicklung >PHP-Tutorial >Fassen Sie die verschiedenen Methoden der PHP-Caching-Technologie zusammen

Fassen Sie die verschiedenen Methoden der PHP-Caching-Technologie zusammen

巴扎黑
巴扎黑Original
2016-12-07 13:42:51959Durchsuche

Der hier erwähnte Datencache bezieht sich auf den PHP-Cache-Mechanismus für Datenbankabfragen. Bei jedem Zugriff auf die Seite wird zunächst festgestellt, ob die entsprechenden zwischengespeicherten Daten vorhanden sind. Stellen Sie eine Verbindung zur Datenbank her und rufen Sie sie ab. und sequenzieren Sie die Abfrageergebnisse. Nach der Transformation und Speicherung in einer Datei werden dieselben Abfrageergebnisse in Zukunft direkt aus der Cache-Tabelle oder Datei abgerufen.
1. Universelle Caching-Technologie:
Daten-Caching: Das hier erwähnte Daten-Caching bezieht sich auf den PHP-Caching-Mechanismus für Datenbankabfragen. Bei jedem Zugriff auf eine Seite wird zunächst festgestellt, ob die entsprechenden zwischengespeicherten Daten vorhanden sind nicht vorhanden. Stellen Sie einfach eine Verbindung zur Datenbank her, rufen Sie die Daten ab, serialisieren Sie die Abfrageergebnisse und speichern Sie sie in der Datei. In Zukunft werden dieselben Abfrageergebnisse direkt aus der Cache-Tabelle oder -Datei abgerufen. Das am weitesten verbreitete Beispiel ist die Suchfunktion von Discuz, die die Ergebnis-ID in einer Tabelle zwischenspeichert und bei der nächsten Suche nach demselben Schlüsselwort zuerst die Cache-Tabelle durchsucht. Wenn mehrere Tabellen verknüpft sind, ist es eine übliche Methode, ein Array zu generieren und den Inhalt der angehängten Tabelle in einem Feld in der Haupttabelle zu speichern: Zerlegen Sie das Array bei Bedarf Eine Tabelle kann gelesen werden. Der Nachteil besteht darin, dass die Synchronisierung der beiden Daten immer den Flaschenhals darstellt.
2. Seiten-Caching:
Jedes Mal, wenn Sie auf eine Seite zugreifen, wird zunächst erkannt, ob die entsprechende zwischengespeicherte Seitendatei vorhanden ist. Wenn sie nicht vorhanden ist, stellen Sie eine Verbindung zur Datenbank her, rufen Sie die Daten ab, zeigen Sie die Seite an und generieren Sie sie die zwischengespeicherte Auslagerungsdatei gleichzeitig, sodass die Auslagerungsdatei bei Ihrem nächsten Besuch ins Spiel kommt. (Template-Engines und einige gängige PHP-Caching-Mechanismusklassen im Internet verfügen normalerweise über diese Funktion)
3. Zeitgesteuertes Caching:
Überprüfen Sie, ob die Datei vorhanden ist und der Zeitstempel kleiner als die festgelegte Ablaufzeit ist Der Änderungszeitstempel ist später als der aktuelle. Wenn der Zeitstempel minus dem Ablaufzeitstempel größer ist, verwenden Sie den Cache, andernfalls aktualisieren Sie den Cache.
4. Inhaltsgesteuertes Caching:
Wenn Daten eingefügt oder aktualisiert werden, muss der PHP-Cache-Mechanismus aktualisiert werden.
5. Statisches Caching:
Das hier erwähnte statische Caching bezieht sich auf statisches Caching, das Textdateien wie HTML oder XML direkt generiert und bei Aktualisierungen neu generiert. Es eignet sich für Seiten, die sich nicht sehr ändern . Dies wird nicht gesagt.
Der obige Inhalt ist eine Lösung auf Codeebene. Der folgende Inhalt ist keine Lösung auf Codeebene und erfordert die Zusammenarbeit mehrerer Parteien:

Memcached ist ein leistungsstarkes PHP-Caching-Mechanismussystem für verteilte Speicherobjekte, das zur Reduzierung der Datenbanklast und zur Verbesserung der Zugriffsgeschwindigkeit in dynamischen Anwendungen verwendet wird.

7. PHP-Puffer:

Es gibt Eaccelerator, APC, Xcache. Ich werde nicht darüber sprechen und selbst sehen, ob es so etwas gibt
8. MYSQL-Cache:
Dies gilt auch für klassische Datenbanken, die diese Methode verwenden, 0,09xxx und dergleichen.
9. Web-Cache basierend auf Reverse-Proxy:
Wie Nginx, SQUID, mod_proxy (Apache2 und höher sind in mod_proxy und mod_cache unterteilt)
10. DNS-Abfrage:
BIND ist eine Open-Source-DNS-Serversoftware, was eine große Sache ist Suchen Sie selbst danach, solange jeder weiß, dass es dieses Ding gibt.
Ich weiß, dass dies bei einigen großen Websites der Fall ist. Vereinfacht ausgedrückt wird dieselbe Seite oder Datei auf verschiedenen Servern zwischengespeichert und je nach Norden und Süden automatisch auf den entsprechenden Server analysiert.

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