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:
Datencache: Der hier erwähnte Datencache bezieht sich auf den Datenbankabfrage-PHP-Cache-Mechanismus, bei jedem Zugriff Beim Aufrufen einer Seite wird zunächst festgestellt, ob die entsprechenden zwischengespeicherten Daten vorhanden sind. Wenn sie nicht vorhanden sind, wird eine Verbindung zur Datenbank hergestellt, die Daten werden abgerufen, die Abfrageergebnisse werden serialisiert und in der Zukunft gespeichert Abfrageergebnisse werden 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 üblich, 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 Der Nachteil beim Lesen nur einer Tabelle besteht darin, dass die Synchronisierung der beiden Daten viel mehr Schritte erfordert. Der entscheidende Punkt ist dabei immer die Datenbank.
2. Seiten-Caching:
Bei jedem Besuch einer Seite wird zunächst geprüft, ob die entsprechende zwischengespeicherte Seitendatei vorhanden ist nicht vorhanden, stellen Sie einfach eine Verbindung zur Datenbank her, rufen Sie die Daten ab, zeigen Sie die Seite an und generieren Sie gleichzeitig eine Cache-Seitendatei, sodass die Seitendatei beim nächsten Besuch eine Rolle spielt. (Template Engines und einige gängige PHP-Caching-Mechanismusklassen im Internet verfügen normalerweise über diese Funktion)
3. Zeitgesteuertes Caching:
Überprüfen ob die Datei existiert und der Zeitstempel kleiner als die festgelegte Ablaufzeit ist. Wenn der Zeitstempel der Dateiänderung größer ist als der aktuelle Zeitstempel abzüglich des Ablaufzeitstempels, wird der Cache verwendet, andernfalls wird der Cache aktualisiert.
4. Inhaltsgesteuertes Caching:
Wenn Daten eingefügt oder aktualisiert werden, muss der PHP-Cache-Mechanismus aktualisiert werden.
5. Statischer Cache:
Der hier erwähnte statische Cache bezieht sich auf statische, direkt generierte Textdateien wie HTML oder XML Es wird beim Aktualisieren einmal neu generiert, was für Seiten geeignet ist, die sich nicht stark ändern, daher werde ich es hier nicht erwähnen.
Der obige Inhalt ist eine Lösung auf Codeebene. Der folgende Inhalt ist eine serverseitige Caching-Lösung. Er ist nicht auf Codeebene und erfordert die Zusammenarbeit mehrerer Parteien, um dies zu erreichen.
6. Speichercache:
Memcached ist ein leistungsstarkes, verteiltes Speicherobjekt-PHP-Caching-Mechanismussystem, das zur Reduzierung der Datenbanklast und verwendet wird Verbessern Sie die Zugriffsgeschwindigkeit dynamischer Anwendungen.
7. PHP-Puffer:
Es gibt Eaccelerator, APC, PHPA, Xcache, ich werde nicht darüber sprechen, suchen Sie danach Es gibt viele davon, schauen Sie selbst, es ist in Ordnung, wenn Sie sich damit auskennen
8. MYSQL-Cache:
Dies gilt auch als Nicht-Code-Ebene. Ja, klassische Datenbanken verwenden diese Methode, siehe unten, 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. Es ist eine große Sache, selbst danach zu suchen.
Ich weiß, dass einige große Websites dies tun. Vereinfacht gesagt handelt es sich dabei um mehrere Server, die auf verschiedenen Servern zwischengespeichert und je nach Norden und Süden automatisch auf den entsprechenden Server analysiert werden.