[Cache-Design] Ist der einfachste mehrstufige Cache geeignet und wie sollte er eingerichtet werden?

WBOY
Freigeben: 2023-03-01 17:14:01
Original
1561 Leute haben es durchsucht

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>
Nach dem Login kopieren
Nach dem Login kopieren

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:

  1. Überprüfen Sie, ob ein Browser-Cache vorhanden ist

  2. Abfragen, ob der lokale Computer über einen Dateicache verfügt

  3. Speichercache

  4. 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!

Antwortinhalt:

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>
Nach dem Login kopieren
Nach dem Login kopieren

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:

  1. Überprüfen Sie, ob ein Browser-Cache vorhanden ist

  2. Abfragen, ob der lokale Computer über einen Dateicache verfügt

  3. Speichercache

  4. 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!

  1. 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

  2. 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

  3. 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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!