Redis pttl

Redis pttl

Redis verwendet den Ansatz des Schlüsselwertpaars, um seine Daten zu speichern. Daher werden alle in einer Redis -Datenbank gespeicherten Datenwerte durch einen eindeutigen Schlüssel verwiesen.

Diese Schlüssel leben für immer, bis Sie sie löschen. Normalerweise können wir den Befehl 'set' verwenden, um einen neuen Schlüssel zu erstellen und ihm einen Wert zuzuweisen. In einigen Szenarien müssen Sie möglicherweise eine Auszeit für einen Schlüssel festlegen.

Beispiel - Setzen Sie das Vergleich des Kennworts zurücksetzen Link mit Redis -Schlüssel

Nehmen wir an, dass ein Benutzer sein Twitter -Konto -Passwort zurücksetzen muss. Der übliche Vorgang besteht. Dies würde eine E -Mail an den Benutzer mit einem Link zum Zurücksetzen des Kennworts senden. Diese Links leben nur für ein paar Minuten oder Tage. Dann läuft der Link aus. Wir können diese Art von Verhalten erreichen, indem wir einen Redis -Schlüssel in der URL übergeben. Wenn der Benutzer auf diesen Link klickt, wird er auf die Seite Kennwort zurückgesetzt, wenn der angegebene Schlüssel nicht abgelaufen ist.

Erstellen Sie einen Schlüssel in Redis

Der Befehl "set" der Redis 'set' kann verwendet werden, um ein neues Schlüsselwertpaar im Redis-Datenspeicher zu erstellen, wie im folgenden Punkt gezeigt.

Setzen Sie PasswordExpirationLink: Benutzer: 01 OldPass: 123456

Der 'PasswordExpirationLink: Benutzer: 01' ist der Redis -Schlüssel und der Wert ist 'OldPass: 123456'.

Stellen Sie eine Zeitüberschreitung für den Schlüssel ein

Da der Schlüssel erstellt wurde, können wir eine Auszeit auf diesem Schlüssel festlegen. Es gibt zwei Möglichkeiten, eine Zeitüberschreitung festzulegen.

  1. Verwenden des Befehls "set" der Redis "Set"
  2. Verwenden des Befehls "entlässt"

1. Verwenden des Befehls "set" der Redis "Set"

Der Befehl 'set' enthält einen Parameter mit dem Namen "Ex", mit dem das Timeout in Sekunden festgelegt werden kann. Erstellen wir einen Schlüssel mit einem Zeitlimitwert.

Setzen Sie PasswordExpirationLink: Benutzer: 02 OldPass: 123456 EX 120

Der Schlüssel 'PasswordExpirationLink: Benutzer: 02' läuft in 120 Sekunden ab.

2. Verwenden des Befehls "entlässt"

Der 'Ablauf' ist der beliebteste Befehl, um einen Zeitüberschreitungswert auf einen Schlüssel zu setzen.

Lachen Sie passwordexpirationLink: Benutzer: 02 120

Dies ist im Vergleich zum Befehl "Set" recht einfach. Der 'PasswordExpirationLink: Benutzer: 02' ist in 120 Sekunden abgelaufen.

Jetzt sollte es eine Möglichkeit geben, die verbleibende Zeit zu berechnen oder abfragen, um einen Schlüssel zu leben. Mit dem Befehl 'pttl' können Redis -Benutzer dies abfragen.

Der Befehl 'Pttl'

Die 'PTTL' gibt zurück. Wenn mit einem Schlüssel keinen Zeitlimitwert zugeordnet ist, gibt dieser Befehl -1 zurück. Wenn der Redis -Schlüssel nicht vorhanden ist, wird -2 zurückgegeben.

Syntax

PTTL -Schlüssel

Der 'Schlüssel' ist der Redis -Schlüsselname.

Wenn der Redis -Schlüssel vorhanden ist und der Schlüssel einer Ablaufzeit zugeordnet ist, gibt der Befehl 'PTTL' die verbleibende Zeit zurück, um in Millisekunden zu leben. Dieser Befehl ist 'TTL' sehr ähnlich, wobei der einzige Unterschied darin besteht, dass 'TTL' die verbleibende Zeit zurückgibt, um in Sekunden zu leben.

Setzen wir die Ablaufzeit der Taste der Taste von 'PasswordExpirationLink: Benutzer: 02' Taste wie im vorherigen Beispiel auf 120 Sekunden.

Lachen Sie passwordexpirationLink: Benutzer: 02 120

Dann können wir den Befehl 'pttl' verwenden, um die verbleibende Zeit zu überprüfen, um den Schlüssel zu leben.

pttl passwordexpirationLink: Benutzer: 02

Ausgabe nach mehrmaliger Ausführung des obigen Befehls:

Wir haben die Ablaufzeit auf 120 Sekunden festgelegt, was 120000 Millisekunden beträgt. Der Ausgang überprüft das. Der erste PTTL -Befehl gibt 112030 zurück, was bedeutet, dass der 'PasswortExpirationLink: Benutzer: 02' die Schlüssel nach 112030 Millisekunden oder 112 verfällt.03 Sekunden.

In der letzten Zeile wurde der -2 zurückgegeben. Das heißt. Es bedeutet, dass der Schlüssel die Ablaufzeit bereits erreicht hat und für immer verschwunden ist.

Der Befehl 'pttl' in einem Schlüssel ohne Ablaufzeit

Lassen Sie uns den Befehl 'PTTL' auf einem Schlüssel ausführen, der keine Ablaufzeit hat, die damit verbunden ist. Zunächst erstellen wir einen neuen Schlüssel 'PasswordExpirationLink: Benutzer: 05'.

Setzen Sie PasswordExpirationLink: Benutzer: 05 OldPass: 123456

Als nächstes werden wir den Befehl 'pttl' auf Taste 'PasswordExpirationLink: Benutzer: 05' ausführen.

pttl passwordexpirationLink: Benutzer: 05

Ausgang:

Wie erwartet hat es -1 zurückgegeben, was bedeutet.

Basierend auf dem Rückgabewert des Befehls 'PTTL' können wir den Link des Passworts zurücksetzen lassen, den wir im vorherigen Beispiel besprochen haben.

Abschluss

Da Redis ein von Schlüsselwert basierender Datenspeicher ist, sind Schlüssel die direkte Referenz für jeden Datenwert. Der Befehl 'set' set 'set' wird zum Erstellen von Schlüsselwertdaten in der Datenbank verwendet. Mit diesem Befehl können wir beim Erstellen des Schlüsselwertpaares eine Zeitüberschreitung festlegen. Eine andere Möglichkeit, Zeitüberschreitungen für Keys festzulegen. In beiden Arten können Sie die Ablaufzeit in Sekunden festlegen. Der Befehl 'pttl' ist nützlich, wenn wir die verbleibende Zeit abfragen müssen, um für einen Redis -Schlüssel zu leben. Es gibt die verbleibende Zeit in Millisekunden zurück, die sich vom Befehl "TTL" unterscheidet.