Ursachenanalyse: verz?gertes doppeltes L?schen des Redis-Cache
Aug 24, 2022 pm 05:34 PMEmpfohlenes Lernen: Redis-Video-Tutorial
Warum wird der Cache gel?scht statt aktualisiert?
Wenn es sich um ein Update handelt und ein verteiltes Transaktionsproblem vorliegt, wird der Cache m?glicherweise ge?ndert und die Datenbank?nderung schl?gt m?glicherweise fehl. Wenn Sie nur den Cache l?schen, ruft die n?chste Abfrage die Daten direkt aus der Datenbank ab, selbst wenn die Datenbank?nderung fehlschl?gt, und es werden keine fehlerhaften Daten angezeigt.
Was ist eine verz?gerte doppelte L?schung?
Das hei?t, beim Hinzufügen, L?schen oder ?ndern einer Entit?tsklasse muss der Cache der Entit?tsklasse geleert werden. Die L?schposition liegt vor und nach der Datenbankbetriebsmethode.
übernehmen Sie die Methode des Widerspruchsbeweises
L?schen Sie nur zuerst
???
L?schen Sie erst sp?ter
Fazit
Daher kann geschlossen werden, dass es bei beiden Vorl?schungen Probleme gibt und Nachl?schung. Daher wird die Strategie des verz?gerten doppelten L?schens übernommen
Denkpunkt 2: Warum verz?gert es sich?Es ist immer noch ein Beweis durch Widerspruch. Die Situation in der folgenden Abbildung zeigt die Situation, in der der alte Cache nach dem doppelten L?schen noch vorhanden ist. Die Verz?gerung dient dazu, sicherzustellen, dass die Cache-?nderungsvorg?nge anderer Transaktionen abgeschlossen wurden, bevor die Datenbank ge?ndert wird -> Cache leeren.
Der zweite L?schvorgang erfolgt nach der ?nderung der Datenbankdaten. Diesmal müssen die Daten zwischen der ersten Redis-L?schung und der ?nderung der Datenbankdaten erneut gel?scht werden ist eine Anfrage, dann werden die alten Daten erneut in Redis zwischengespeichert, aber die Daten in der Datenbank werden als n?chstes ge?ndert. Wenn sie dieses Mal nicht gel?scht werden, bleiben die alten Daten in der Datenbank bestehen redis. Warum müssen Sie also das L?schen von Redis um einen bestimmten Zeitraum verz?gern, nachdem die Datenbank das zweite Mal ge?ndert wurde?
Um auf das vorherige Lesen der Datenbank zu warten, warten Sie, bis die Daten in den Cache geschrieben wurden, und l?schen Sie schlie?lich die schmutzigen Daten, sodass die Zeit gekommen ist, die Daten von der Datenbank an den Server zu senden + Cache-Schreiben- Aber beim verz?gerten Doppell?schen ist die Verz?gerungszeit sehr schwer zu bestimmen, daher wird das verz?gerte Doppell?schen nicht empfohlen
- Nach umfassenden überlegungen gibt es nach dem L?schen des Caches auch dann, wenn die Datenbank zuerst ge?ndert wird Es wird einen bestimmten Zeitraum geben, in dem die alten Daten gelesen werden, was normalerweise tolerierbar ist. Solange der Cache rechtzeitig gel?scht wird, k?nnen andere Threads den neuesten Wert lesen.
- Um sicherzustellen, dass der Cache gel?scht wird, k?nnen Sie gleichzeitig mit mq sicherstellen, dass der Cache gel?scht wird.
Wenn die Nachricht nicht wiederholt in mq verbraucht wird, wird sie an andere übergeben Verbraucher zum Verzehr (der Cache wird gel?scht)
Redis-Video-Tutorial
Das obige ist der detaillierte Inhalt vonUrsachenanalyse: verz?gertes doppeltes L?schen des Redis-Cache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

Laravel 8 bietet die folgenden Optionen für die Leistungsoptimierung: Cache -Konfiguration: Verwenden Sie Redis, um Treiber, Cache -Fassaden, Cache -Ansichten und Seitenausschnitte zu Cache. Datenbankoptimierung: Stellen Sie die Indexierung fest, verwenden Sie den Abfrageumfang und verwenden Sie eloquente Beziehungen. JavaScript- und CSS -Optimierung: Verwenden Sie die Versionskontrolle, verschmelzen und verkleinern Sie die Verm?genswerte, verwenden Sie CDN. Codeoptimierung: Verwenden Sie das Installationspaket des Komponisten, verwenden Sie Laravel -Helferfunktionen und befolgen Sie die PSR -Standards. überwachung und Analyse: Verwenden Sie Laravel Scout, verwenden Sie Teleskop, Monitor -Anwendungsmetriken.

Wie erkennt die Redis -Caching -L?sung die Anforderungen der Produktranking -Liste? W?hrend des Entwicklungsprozesses müssen wir uns h?ufig mit den Anforderungen der Ranglisten befassen, z. B. das Anzeigen eines ...

Verwenden Sie im Springboot Redis, um das OAuth2Authorization -Objekt zu speichern. Verwenden Sie in der Springboot -Anwendung SpringSecurityoAuth2AuthorizationServer ...

Die wesentlichen Laravel -Erweiterungspakete für 2024 umfassen: 1. Laraveldebugbar, zum überwachen und Debugg -Code; 2. LaravelTelescope, die eine detaillierte Anwendungsüberwachung bereitstellt; 3.. Laravelhorizon, Managing Redis -Warteschlangenaufgaben. Diese Expansionspakete k?nnen die Entwicklungseffizienz und die Anwendungsleistung verbessern.

Die Schritte zum Erstellen einer Laravel -Umgebung auf verschiedenen Betriebssystemen sind wie folgt: 1.Windows: Verwenden Sie XAMPP, um PHP und Komponist zu installieren, Umgebungsvariablen zu konfigurieren und Laravel zu installieren. 2.MAC: Verwenden Sie Homebrew, um PHP und Komponist zu installieren und Laravel zu installieren. 3.Linux: Verwenden Sie Ubuntu, um das System zu aktualisieren, PHP und Komponist zu installieren und Laravel zu installieren. Die spezifischen Befehle und Pfade jedes Systems sind unterschiedlich, die Kernschritte sind jedoch konsistent, um die reibungslose Konstruktion der Laravel -Entwicklungsumgebung zu gew?hrleisten.

Redis spielt eine Schlüsselrolle bei der Datenspeicherung und -verwaltung und ist durch seine mehreren Datenstrukturen und Persistenzmechanismen zum Kern moderner Anwendungen geworden. 1) Redis unterstützt Datenstrukturen wie Zeichenfolgen, Listen, Sammlungen, geordnete Sammlungen und Hash -Tabellen und eignet sich für Cache und komplexe Gesch?ftslogik. 2) RDB und AOF sorgt durch zwei Persistenzmethoden für eine zuverl?ssige Speicherung und eine schnelle Wiederherstellung von Daten.

Aktivieren Sie Redis langsame Abfrageprotokolle im CentOS -System, um die Leistungsdiagnoseeffizienz zu verbessern. In den folgenden Schritten führen Sie die Konfiguration durch: Schritt 1: Suchen und bearbeiten Sie die Redis -Konfigurationsdatei zuerst und suchen Sie die Redis -Konfigurationsdatei, die sich normalerweise in /etc/redis/redis.conf befindet. ?ffnen Sie die Konfigurationsdatei mit dem folgenden Befehl: Sudovi/etc/redis/redis.conf Schritt 2: Passen Sie die Langsame-Abfrage-Protokollparameter in der Konfigurationsdatei an, suchen Sie die folgenden Parameter: #Slow Query-Schwellenwert (MS) Slow-Log-Slow-Than10000 #Maximum der Eintr?ge für langsame Query-Log-Logog-Logog-Len-Len-Len

Die Optimierungsl?sung für Springboot-Timing-Aufgaben in einer Multi-Knoten-Umgebung ist die Entwicklung des Frühlings ...
