suchen
HeimDatenbankRedisUrsachenanalyse: verzögertes doppeltes Löschen des Redis-Cache

Empfohlenes 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



Ursachenanalyse: verzögertes doppeltes Löschen des Redis-Cache

Löschen Sie erst später

Ursachenanalyse: verzögertes doppeltes Löschen des Redis-Cache

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.

Ursachenanalyse: verzögertes doppeltes Löschen des Redis-Cache

Ergänzung: Warum sollten wir das doppelte Löschen verzögern, um die Cache-Konsistenz sicherzustellen: Dies soll sicherstellen, dass dies während des Intervalls zwischen der Änderung der Datenbankdaten und dem Löschen der Redis-Daten gewährleistet ist Daten sind in Redis nicht vorhanden. Wenn die Datenbankdaten ohne diese Löschung geändert wurden, können alte Daten weiterhin von Redis gelesen werden, was zu Dateninkonsistenzen führt.

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) Ursachenanalyse: verzögertes doppeltes Löschen des Redis-Cache

Empfohlenes Lernen:

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!

Stellungnahme
Dieser Artikel ist reproduziert unter:脚本之家. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Ist Redis eine SQL- oder NoSQL -Datenbank? Die Antwort erklärteIst Redis eine SQL- oder NoSQL -Datenbank? Die Antwort erklärteApr 18, 2025 am 12:11 AM

RedisiscassifizedasanosqldatabaseBecauseituseSakey-valuedatamodelinSteAfThetitionalrelationalDatabasemodel

Redis: Verbesserung der Anwendungsleistung und SkalierbarkeitRedis: Verbesserung der Anwendungsleistung und SkalierbarkeitApr 17, 2025 am 12:16 AM

Redis verbessert die Anwendungsleistung und die Skalierbarkeit, indem sie Daten zwischengespeichert und verteilte Verriegelung und Datenpersistenz implementiert. 1) Cache -Daten: Verwenden Sie Redis, um häufig auf Daten zugegriffen, um die Geschwindigkeit des Datenzugriffs zu verbessern. 2) Verteilte Schloss: Verwenden Sie Redis, um verteilte Sperren zu implementieren, um die Sicherheit des Betriebs in einer verteilten Umgebung zu gewährleisten. 3) Datenpersistenz: Stellen Sie die Datensicherheit durch RDB- und AOF -Mechanismen sicher, um den Datenverlust zu verhindern.

Redis: Erforschen des Datenmodells und der StrukturRedis: Erforschen des Datenmodells und der StrukturApr 16, 2025 am 12:09 AM

Das Datenmodell und die Struktur von Redis umfassen fünf Haupttypen: 1. String: Verwendet, um Text oder binäre Daten zu speichern, und unterstützt Atomoperationen. 2. Liste: Bestellte Elementssammlung, geeignet für Warteschlangen und Stapel. 3. SET: Ungeordnete einzigartige Elemente, unterstützende Set -Operation. V. 5. Hash Table (Hash): Eine Sammlung von Schlüsselwertpaaren, die zum Speichern von Objekten geeignet sind.

Redis: Klassifizierung des DatenbankansatzesRedis: Klassifizierung des DatenbankansatzesApr 15, 2025 am 12:06 AM

Die Datenbankmethoden von Redis umfassen In-Memory-Datenbanken und Schlüsselwertspeicher. 1) Redis speichert Daten im Speicher und liest und schreibt schnell. 2) Es wird Schlüsselwertpaare verwendet, um Daten zu speichern, unterstützt komplexe Datenstrukturen wie Listen, Sammlungen, Hash-Tabellen und geordnete Sammlungen, die für Caches und NoSQL-Datenbanken geeignet sind.

Warum Redis verwenden? Vorteile und VorteileWarum Redis verwenden? Vorteile und VorteileApr 14, 2025 am 12:07 AM

Redis ist eine leistungsstarke Datenbanklösung, da sie eine schnelle Leistung, umfangreiche Datenstrukturen, hohe Verfügbarkeit und Skalierbarkeit, Persistenzfunktionen und eine breite Palette von Ökosystemunterstützung bietet. 1) Extrem schnelle Leistung: Die Daten von Redis werden im Speicher gespeichert und verfügt über extrem schnelle Lesen und Schreibgeschwindigkeiten, die für Anwendungen mit hoher Parallelität und niedriger Latenz geeignet sind. 2) Reiche Datenstruktur: Unterstützt mehrere Datentypen wie Listen, Sammlungen usw., die für eine Vielzahl von Szenarien geeignet sind. 3) hohe Verfügbarkeit und Skalierbarkeit: Unterstützt die Master-Slave-Replikation und den Clustermodus, um eine hohe Verfügbarkeit und horizontale Skalierbarkeit zu erzielen. 4) Persistenz und Datensicherheit: Die Datenpersistenz werden durch RDB und AOF erreicht, um die Integrität und Zuverlässigkeit der Daten zu gewährleisten. 5) Weites Ökosystem und Unterstützung der Gemeinschaft: mit einem riesigen Ökosystem und einer aktiven Gemeinschaft.

NoSQL verstehen: Schlüsselmerkmale von RedisNoSQL verstehen: Schlüsselmerkmale von RedisApr 13, 2025 am 12:17 AM

Zu den wichtigsten Merkmalen von Redis gehören Geschwindigkeit, Flexibilität und Reich Datenstrukturunterstützung. 1) Geschwindigkeit: Redis ist eine In-Memory-Datenbank, und Lese- und Schreibvorgänge sind fast augenblicklich und für Cache und Sitzungsverwaltung geeignet. 2) Flexibilität: Unterstützt mehrere Datenstrukturen wie Zeichenfolgen, Listen, Sammlungen usw., die für die komplexe Datenverarbeitung geeignet sind. 3) Unterstützung bei der Datenstruktur: Bietet Zeichenfolgen, Listen, Sammlungen, Hash -Tabellen usw., die für unterschiedliche Geschäftsanforderungen geeignet sind.

Redis: Identifizierung seiner primären FunktionRedis: Identifizierung seiner primären FunktionApr 12, 2025 am 12:01 AM

Die Kernfunktion von Redis ist ein Hochleistungs-In-Memory-Datenspeicher- und Verarbeitungssystem. 1) Hochgeschwindigkeitsdatenzugriff: Redis speichert Daten im Speicher und bietet Lese- und Schreibgeschwindigkeit auf Mikrosekunden. 2) Reiche Datenstruktur: Unterstützt Zeichenfolgen, Listen, Sammlungen usw. und passt an eine Vielzahl von Anwendungsszenarien. 3) Persistenz: Behalten Sie Daten an, um durch RDB und AOF zu diskutieren. 4) Abonnement veröffentlichen: Kann in Nachrichtenwarteschlangen oder Echtzeit-Kommunikationssystemen verwendet werden.

Redis: Ein Leitfaden für beliebte DatenstrukturenRedis: Ein Leitfaden für beliebte DatenstrukturenApr 11, 2025 am 12:04 AM

Redis unterstützt eine Vielzahl von Datenstrukturen, darunter: 1. String, geeignet zum Speichern von Einzelwertdaten; 2. Liste, geeignet für Warteschlangen und Stapel; 3.. SET, verwendet zum Speichern nicht duplikatischer Daten; V. 5. Hash -Tabelle, geeignet zum Speichern von Objekten oder strukturierten Daten.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor