Vor kurzem möchte ich einen Caching-Mechanismus der ersten Ebene für unser System erstellen. Aber ich habe immer das Gefühl, dass etwas fehlt.
Umgebung:
Lastausgleich, Master-Slave-Trennung, Redis Standalone (mehrere Maschinen können in Zukunft verwendet werden)
Vorläufige Idee jetzt:
<code>浏览器缓存-》本地文件缓存-》内存缓存(Redis)-》Db </code>
Nachdem der Benutzer auf die Webanwendung zugreift, legen Sie den Browser-Cache dafür fest und legen Sie dann den lokalen Datei-Cache und den Speicher-Cache fest.
Nach dem Besuch anderer Benutzer sind die Schritte meiner Meinung nach wie folgt:
Überprüfen Sie, ob ein Browser-Cache vorhanden ist
Abfragen, ob der lokale Computer über einen Dateicache verfügt
Speichercache
Db
Meine Frage ist:
Aber ich habe das Gefühl, dass in einem bestimmten Schritt etwas fehlt, oder ich habe das Gefühl, dass die (mehrstufige) Cache-Ablaufzeit schwer zu wählen ist.
Und lohnt sich der lokale Dateicache {Überprüfung der Ablaufzeit, Lesen (Löschen, Generieren) von Dateien} im Vergleich zu einer einzelnen Verbindung, die direkt zum Speichercache springt (Redis)?
Daher möchte ich meinen grundlegenden Caching-Mechanismus fragen, ob er geeignet ist oder ob es Mängel gibt, die verbessert werden können. Vielen Dank!
Vor kurzem möchte ich einen Caching-Mechanismus der ersten Ebene für unser System erstellen. Aber ich habe immer das Gefühl, dass etwas fehlt.
Umgebung:
Lastausgleich, Master-Slave-Trennung, Redis Standalone (mehrere Maschinen können in Zukunft verwendet werden)
Vorläufige Idee jetzt:
<code>浏览器缓存-》本地文件缓存-》内存缓存(Redis)-》Db </code>
Nachdem der Benutzer auf die Webanwendung zugreift, legen Sie den Browser-Cache dafür fest und legen Sie dann den lokalen Datei-Cache und den Speicher-Cache fest.
Nach dem Besuch anderer Benutzer sind die Schritte meiner Meinung nach wie folgt:
Überprüfen Sie, ob ein Browser-Cache vorhanden ist
Abfragen, ob der lokale Computer über einen Dateicache verfügt
Speichercache
Db
Meine Frage ist:
Aber ich habe das Gefühl, dass in einem bestimmten Schritt etwas fehlt, oder ich habe das Gefühl, dass die (mehrstufige) Cache-Ablaufzeit schwer zu wählen ist.
Und lohnt sich der lokale Dateicache {Überprüfung der Ablaufzeit, Lesen (Löschen, Generieren) von Dateien} im Vergleich zu einer einzelnen Verbindung, die direkt zum Speichercache springt (Redis)?
Daher möchte ich meinen grundlegenden Caching-Mechanismus fragen, ob er geeignet ist oder ob es Mängel gibt, die verbessert werden können. Vielen Dank!
Mehrstufiger Cache kann den Druck auf das System verringern und die RT erheblich reduzieren. Ein Aspekt, der berücksichtigt werden muss, ist jedoch auch die Verwaltung des mehrstufigen Caches . Dies ist die Verwendung mehrerer Caches. Ein Problem, das durch Level-Caching nicht vermieden werden kann. Um den mehrstufigen Cache ungültig zu machen, können Sie versuchen, einen lokalen Timer zu verwenden, um den Cache in regelmäßigen Abständen zu aktualisieren
Der Datei-Cache kann tatsächlich durch einen lokalen Speicher-Cache ersetzt werden. Es ist auch möglich, ihn als Datei-Cache zu gestalten, aber wenn die Menge der lokalen Festplatten-E/A groß ist, kann er das leider nicht bewältigen Was ist effizienter und Netzwerk-Overhead? Es ist notwendig, einen Stresstest entsprechend der tatsächlichen Situation durchzuführen
Beim mehrstufigen Caching geht es mehr um die Cache-Penetration und die Programmstabilität. Wenn es ein Problem mit dem zentralen Cache gibt, kann unsere Anwendung weiterhin in einem Speicher-Cache ausgeführt werden Durch den Zugriff auf den zentralen Cache kann der Druck auf den zentralen Cache verringert werden. Daher ist das Datei-Caching in dieser Hinsicht besser als das zentralisierte Caching von Redis