Heim  >  Artikel  >  Datenbank  >  Einführung in die Redis-Datenkonsistenz

Einführung in die Redis-Datenkonsistenz

尚
nach vorne
2020-04-05 09:06:292668Durchsuche

Die sogenannte Redis-Datenkonsistenz bedeutet, dass sich die Daten in Redis nach dem Ändern, Speichern oder Löschen auch entsprechend ändern sollten. Andernfalls ist es wahrscheinlich, dass der Benutzer bei einer erneuten Abfrage fehlerhafte Daten findet, die gelöscht wurden.

Einführung in die Redis-Datenkonsistenz

1. Die Notwendigkeit der Cache-Konsistenz

In Fortsetzung des vorherigen Artikels haben wir das Problem der Redis-Cache-Penetration gelöst (einfache Lösung, kann optimiert werden). erneut), aber bei der Verwendung von Redis müssen wir auch das Problem der Cache-Konsistenz berücksichtigen. Zum Beispiel: Nach dem Speichern eines neuen Benutzers sollten die Daten gleichzeitig auch in den Redis-Cache eingefügt werden, und zwar ein bestimmtes Datenelement Die Aktualisierung im Cache sollte ebenfalls synchron erfolgen. Die Standardmethode von Redis lautet: Wenn Sie sie nicht festlegen, handelt es sich bei dem in Redis gespeicherten Wert um die Daten, die Sie zuvor gespeichert haben. Die Daten werden nur synchronisiert, wenn der Server neu gestartet wird. Das ist natürlich sehr unerwünscht. Wenn das der Fall wäre, müsste der Server dann nicht ständig neu gestartet werden?

2. Geschäftsszenarien

Ich werde hier nur auf ein Szenario eingehen. Das Szenario ist: Angenommen, wir geben zu diesem Zeitpunkt Benutzerdaten ein , Es gibt Wenn sich ein neuer Benutzer registriert, werden neue Daten in die Datenbank eingefügt. Gleichzeitig müssen die Daten auch in Redis eingefügt werden, damit bei der nächsten Abfrage die neuesten Daten angezeigt werden können.

Werfen wir zunächst einen Blick darauf, ob Redis standardmäßig keine Verarbeitung durchführt. Zu diesem Zeitpunkt befinden sich nach dem Start des Systems 18 Benutzerdaten. Wir registrieren und fügen die ersten ein. Überprüfen Sie nach 19 Daten, ob in Redis 19 Daten vorhanden sind.

Einführung in die Redis-Datenkonsistenz

Nach der Registrierung habe ich nun das 19. Datenelement in die Datenbank eingefügt

Einführung in die Redis-Datenkonsistenz

Dann nutzen wir noch die Vorheriger Artikel Die erwähnte Abfrage-Cache-Methode wird verwendet, um alle Informationen abzurufen. Schauen wir uns die letzte Methode direkt an. Wir können sehen, dass die letzte Methode Runqing und nicht Nineteen ist, sodass Redis standardmäßig keine Cache-Konsistenzoperationen durchführt.

Einführung in die Redis-Datenkonsistenz

3. Cache-Konsistenzimplementierung (Option 1)

Tatsächlich ist es sehr einfach, Konsistenz zu erreichen, nachdem wir den Einfügevorgang durchgeführt haben Die Daten auslesen und gleichzeitig im Redis-Cache speichern, sodass wir bei einer erneuten Abfrage des Caches auch die neuen Daten sehen können. Der Code lautet wie folgt:

Einführung in die Redis-Datenkonsistenz

Dinge, die Sie beachten sollten: Ja: Ich rufe hier direkt findAll() auf. Tatsächlich ist es eine bessere Möglichkeit, die gerade eingefügte ID zu aktualisieren. Dies ist nur eine Demonstration, wie man es implementiert , und registrieren Sie dann neue Daten, um zu sehen, ob es funktioniert. Sie können auch im Cache sehen: Die neu eingefügte Daten-ID ist 29. Mal sehen, ob die neuen Daten im Cache vorhanden sind

Einführung in die Redis-Datenkonsistenz

Einführung in die Redis-Datenkonsistenz

4. Implementierung der Redis-Cache-Konsistenz (Option 2)

Löschen Sie die Daten in Redis regelmäßig, legen Sie beispielsweise eine geplante Aufgabe fest, und die Daten in Redis werden jede Stunde gelöscht werden, d kann garantiert werden.

Weitere Redis-Kenntnisse finden Sie in der Spalte Redis-Einführungs-Tutorial.

Das obige ist der detaillierte Inhalt vonEinführung in die Redis-Datenkonsistenz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen