2017-10-23 1 views
0

Ich verwende Redis als Cache, um Anfragen für ein paar Endpunkte zu dienen.Redis: Aktualisieren eines Cache während Daten abgerufen werden

Was ist eine Standardmethode zum "Sperren" des Caches, während es aktualisiert wird, so dass die Endpunkte, die den Cache lesen, nicht zur gleichen Zeit stattfinden, wie es aktualisiert wurde. Muss ich eine "Write" Sperre auf Redis implementiert haben. Alle Endpunkte überprüfen zuerst, ob die Schreibsperre verfügbar ist. Wenn ja, lesen sie die Daten, aber wenn sie nicht verfügbar sind, verwenden sie den Cache nicht, sondern holen ihn direkt aus der Datenbank.

Der Schreiber erwirbt die Sperre, wartet auf eine im Voraus festgelegte "Verzögerung", damit die aktuellen Lesevorgänge abgeschlossen werden, und aktualisiert dann den Cache, wonach er die Sperre freigibt?

Antwort

0

Eigentlich Redis verwaltet die Sperre für einfache Befehle (SET, SETEX, GET, INCR und viele mehr), gehen Sie voran und verwenden Sie es einfach.