Heim  >  Artikel  >  Java  >  Einführung in die Java-Caching-Technologie

Einführung in die Java-Caching-Technologie

黄舟
黄舟Original
2017-02-06 16:14:431304Durchsuche

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

1 Systemarchitekturdiagramm basierend auf Webanwendungen


Einführung in die Java-Caching-Technologie2. Um den Zugriff zu beschleunigen, können Caches zwischen verschiedenen Ebenen der Systemarchitektur vorhanden sein

    Betriebssystem-Festplatten-Cache -> Mechanische Operationen der Festplatte
  • Datenbankcache -> Dateisystem-E/A reduzieren
  • Anwendungscache reduzieren Datenbankabfrage
  • Webserver-Cache -> Anwendungsserver-Anfragen reduzieren
  • Client-Browser-Cache -> Besuche auf der Website reduzieren
  • 3. Betriebssystem-Cache
1. Vom Dateisystem bereitgestellter Festplatten-Cache: Das Betriebssystem legt den Inhalt häufig aufgerufener Dateien im Speicher ab und wird vom Dateisystem verwaltet

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


Oracles Raw-Gerät (Bare-Gerät) – verlassen Sie das Dateisystem direkt
  • InnoDB von MySQL: innodb_flush_method = O_DIRECT
  • 4. Datenbankcache


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

  • Wenn die Softwarestruktur speziell auf die Anforderungen der Software abgestimmt ist Durch das O/R-Mapping-Framework wird die Verwendung von Objekt-Caching die Zugriffsanfrage des Websystems an die Datenbank erheblich reduzieren

  • Eine gut gestaltete Datenbankstruktur und die Verwendung von Objekt-Cache können eine extrem hohe Leistung bieten. Der Objektcache eignet sich für OLTP-Anwendungen (Online-Transaktionsverarbeitung). Der Datenbank-Abfrage-Cache

  • ist anwendbar. Er eignet sich für einige Szenarien, die zeitaufwändig sind, aber geringe Aktualitätsanforderungen haben. Abfrage-Caching und Objekt-Caching sind auf verschiedene Szenarien anwendbar und ergänzen einander

Wenn die im Abfrageergebnissatz beteiligten Tabellendatensätze geändert werden, müssen Sie darauf achten, den Cache zu leeren

  • 3. Seiten-Caching

    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

  • b. Kategorie

    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

    • Das Obige ist die Einführung der Java-Caching-Technologie. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


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