Kursinhalt
Einführung in Redis
Einführung in Redis
INCR- und DECR-Befehle
Diese Operationen sind atomar, was bedeutet, dass sie entweder vollständig abgeschlossen oder überhaupt nicht ausgeführt werden, was Datenkonsistenz gewährleistet, selbst wenn mehrere Prozesse gleichzeitig auf Redis zugreifen.
INCR-Befehl
Der INCR
-Befehl erhöht einen numerischen Wert um eins. Er ist besonders nützlich für Szenarien wie das Zählen von Seitenaufrufen oder das Verfolgen der Anzahl von Likes.
Lassen Sie uns eine Situation simulieren, in der wir die Anzahl der Aufrufe auf einer Webseite verfolgen:
Wenn der Schlüssel nicht existiert, wird Redis ihn erstellen und seinen Wert auf 1
setzen. Jeder nachfolgende Aufruf des Befehls wird den Wert um 1
erhöhen, wodurch der Zähler auf 2
, 3
und so weiter aktualisiert wird.
Wenn Sie den Wert desselben Schlüssels mehrmals erhöhen müssen, können Sie den INCRBY
Befehl verwenden und angeben, um wie viel Sie den Wert erhöhen möchten.
In diesem Beispiel erhöht der INCRBY
Befehl den Wert des page:main
Schlüssels um 5. Wenn der Anfangswert 0 war, wird er nach der Ausführung des Befehls 5.
DECR Befehl
Der DECR
Befehl funktioniert ähnlich wie INCR
, aber er verringert den Wert um eins. Dies ist nützlich in Szenarien wie der Bestandsverfolgung, bei denen Sie den Bestand jedes Mal reduzieren müssen, wenn ein Artikel verkauft wird.
Lassen Sie uns die Verfolgung der Anzahl der verfügbaren Produkte auf Lager simulieren:
Beim ersten Aufruf des Befehls wird der Wert auf -1
verringert. Jeder weitere Aufruf wird den Wert um 1
verringern (auf -2
, -3
und so weiter).
Wenn Sie den Wert desselben Schlüssels mehrmals verringern müssen, können Sie den DECRBY
Befehl verwenden und angeben, um wie viel Sie den Wert verringern möchten.
In diesem Beispiel verringert der DECRBY
Befehl den Wert des product:count
Schlüssels um 3. Wenn der Anfangswert 10 war, wird er nach der Ausführung des Befehls zu 7.
1. Was macht der INCR
Befehl in Redis?
2. Was passiert, wenn der Schlüssel nicht existiert, wenn Sie INCR
oder DECR
verwenden?
3. Was passiert, wenn der Schlüssel einen nicht-numerischen Wert enthält und Sie INCR
oder DECR
verwenden?
Danke für Ihr Feedback!