1. Was ist Cache? 1. Cache ist ein spezielles Speichersubsystem, in das häufig verwendete Daten kopiert werden, um einen schnellen Zugriff zu ermöglichen Geschwindigkeitsunterschied Eine Struktur zwischen Hardware/Software, die verwendet wird, um den Unterschied in der Datenübertragungsgeschwindigkeit zwischen beiden zu koordinieren, kann als Cache bezeichnet werden
2. Cache-Klassifizierung
2. Um den Zugriff zu beschleunigen, können Caches zwischen verschiedenen Ebenen der Systemarchitektur vorhanden sein
Wann Greift eine Anwendung über das Dateisystem auf eine Festplattendatei zu, liest das Betriebssystem den Dateiinhalt aus dem Festplatten-Cache und beschleunigt so die Lesegeschwindigkeit der Datei.
3 Der Festplatten-Cache wird automatisch vom Betriebssystem verwaltet und im Allgemeinen nicht manuell verwendet Ein Eingriff ist erforderlich, es sollte jedoch ausreichend physischer Speicher sichergestellt werden, damit das Betriebssystem so viel Speicher wie möglich als Disk Cache verwenden kann, um das Lesen von Dateien zu beschleunigen
4. Spezielle Anwendungen stellen hohe Anforderungen an den Disk Cache des Dateisystems, was der Fall sein wird Umgehen Sie den Festplatten-Cache des Dateisystems, greifen Sie direkt auf die Festplattenpartition zu und implementieren Sie die Cache-Strategie
Die Datenbank ist normalerweise der Kernbestandteil des Unternehmensanwendungssystems
Die in der Datenbank gespeicherte Datenmenge ist normalerweise sehr groß
Datenbankabfragevorgänge sind normalerweise sehr häufig.
Die oben genannten Gründe führen dazu, dass Datenbankabfragen sehr häufige Festplatten-E/A-Lesevorgänge verursachen, wodurch die CPU hängen bleibt und wartet. und die Datenbankleistung ist extrem niedrig
2. Cache-Strategie
a. Abfrage-Cache
Cache den Abfrageergebnissatz mit SQL als der Schlüsselwert
Sobald die an der Abfrage beteiligten Tabellendatensätze geändert werden, wird der Cache automatisch gelöscht
Ein geeigneter Abfrage-Cache wird festgelegt Verbessern Sie die Datenbankleistung erheblich.
Je größer der Abfrage-Cache, desto besser wird ein zu großer QQuery-Cache Speicher verschwenden.
MySQL: query_cache_size= 128M
b. Datenpuffer
Datenpuffer sind Datenbankdaten Container im Speicher
Die Trefferquote des Datenpuffers bestimmt direkt die Leistung der Datenbank
Je größer der Datenpuffer, desto besser, je mehr, desto besser
InnoDB-Puffer von MySQL: innodb_buffer_pool_size = 2G
MySQL empfiehlt, den Pufferpool auf 60-80 % der physischen Kapazität des Servers zu öffnen Speicher
5. Anwendungscache
Bereitgestellt durch O/R Mapping Framework wie Hibernate, transparenter Zugriff, Das feinkörnige Caching von Datenbankabfrageergebnissen ohne explizite Programmierung von Geschäftscode ist die problemloseste Caching-Strategie
a. Funktion
Cache-Technologie für Seiten kann nicht nur den Druck auf den Datenbankserver reduzieren, sondern auch Reduzieren Sie außerdem den Druck auf den Anwendungsserver
Gutes Seiten-Caching kann die Seitenrendering-Geschwindigkeit erheblich verbessern
Die Schwierigkeit beim Seiten-Caching besteht darin, wie es bereinigt wird abgelaufene Caches
I. Dynamische Seitenstatik
Verwenden Sie die Vorlagentechnologie, um statisches HTML aus der einmal besuchten dynamischen Seite zu generieren und gleichzeitig den Seitenlink zu ändern. Bei der nächsten Anfrage wird direkt auf die Seite mit dem statischen Link zugegriffen
Dynamische Seite Statische Technologie wird häufig in Internet-CMS-/Nachrichten-Webanwendungen verwendet, aber es gibt auch BBS-Anwendungen, die diese Technologie verwenden, wie z. B. Discuz!
Berechtigung kann nicht ausgeführt werden Überprüfung und kann keine personalisierten Informationen anzeigen
Sie können AJAX-Anfragen verwenden, um einige Mängel statischer dynamischer Seiten auszugleichen
II, Servlet-Caching
Zwischenspeichern der vom URL-Zugriff zurückgegebenen Seitenergebnisse, geeignet für grobkörniges Seiten-Caching, z. B. Pressemitteilungen
Berechtigungen können überprüft werden
OScache bietet einen einfachen Servlet-Cache (durch Konfiguration im Web. Seiteninternes Caching
Cache lokaler Fragmentinhalte dynamischer Seiten, geeignet für einige personalisierte, aber selten aktualisierte Seiten (z. B. Blogs)
OSCache bietet einfaches Seiten-Caching
Sie können das JSP-Tag selbst erweitern, um teilweises Seiten-Caching zu implementieren
6. Webserverseitiges Caching
Webserverseitiges Caching basierend auf dem Proxyservermodus, z. B. Squid/Nginx
Webserver-Caching-Technologie wird zur Implementierung von CDN (Content Delivery Network Content Delivery Network) verwendet
wird häufig von inländischen Mainstream-Portal-Websites verwendet
Es ist keine Programmierung erforderlich, aber es ist auf Websites mit Pressemitteilungen beschränkt, und die Echtzeitanforderungen der Seite sind nicht hoch
Ajax-basiertes Browser-Caching
Bei Verwendung von AJAX-Aufrufen die Datenbank auf der Browserseite zwischenspeichern
Solange Sie die aktuelle Seite nicht verlassen oder die aktuelle Seite aktualisieren , Sie können die zwischengespeicherten Daten direkt lesen
Gilt nur für Seiten, die AJAX-Technologie verwenden