Redis verfällt den Hash -Schlüssel

Redis verfällt den Hash -Schlüssel
Redis ist ein Open-Source-In-Memory-Datenstrukturspeicher, der als verteilte In-Memory-Schlüsselwertdatenbank verwendet wird. Aufgrund seiner Natur ist Redis eine Hochleistungsdatenspeicherung, die für die Implementierung in verschiedenen Situationen geeignet ist, zum Beispiel Cache, Message Broker usw.

In diesem Leitfaden werden wir untersuchen, wie man Schlüssel in Redis abläuft. Wie der Titel schon sagt, werden wir uns auf die Hash -Schlüssel -Ablauf konzentrieren, aber das allgemeine Konzept gilt auch für andere Schlüssel.”

Voraussetzungen

Um die in diesem Handbuch gezeigten Schritte auszuführen, benötigen Sie die folgenden Komponenten, die bereit sind:

  • Ein richtig konfiguriertes Linux-System. Erfahren Sie mehr über die Installation von Ubuntu.
  • Redis -Server installiert und konfiguriert. Erfahren Sie mehr über die Installation von Redis auf Ubuntu.

Redisschlüssel

Redisschlüssel sind standardmäßig beständig, was bedeutet, dass ein Eintrag intakt bleibt. Während diese Konfiguration im Allgemeinen gut ist, gibt es Situationen, in denen Sie möchten, dass die Schlüssel nach einer bestimmten Zeit ablaufen. Mit anderen Worten, du würdest du willst flüchtig Schlüssel.

Jetzt unterstützt Redis mehrere Tastenarten, die vom Datentyp kategorisiert sind. Hier sind einige der häufigsten Datentypen, denen Sie begegnen werden:

  • Saiten
  • Listen
  • Sets
  • Hashes

Weitere Informationen finden Sie in der offiziellen Redis-Dokumentation zu Datentypen, um detailliertere Informationen zu erhalten. Für den Zweck dieses Leitfadens werden wir uns auf die Hash -Tasten konzentrieren.

Hash -Schlüssel

In Redis sind Hashes Karten zwischen Feldern (Zeichenfolge) und Werten (String). Aufgrund dieser Struktur ist es der perfekte Datentyp für die Darstellung von Objekten. Lassen Sie uns mit einem Beispiel erklären. Schauen Sie sich die folgende Struktur an:

  • user_database
  • David: Passwort_1
  • Alex: Passwort_2
  • Mason: Passwort_3

Hier können wir User_database als Hash -Schlüssel betrachten. In diesem Hash haben wir mehrere Feldwertpaare, die Benutzername und Passwort darstellen. Lassen Sie es uns in Redis implementieren:

$ Hmset user_database user_1 "David" pass_1 "password_1"
$ Hmset user_database user_2 "Alex" pass_2 "password_2"
$ Hmset user_database user_3 "mason" pass_3 "password_3"

Wie gezeigt, verwendet Redis den Befehl HMSET, um Hash -Tasten zu registrieren. Um die im Schlüssel gespeicherten Daten abzurufen, müssen wir den Befehl hGet verwenden:

$ HGet user_database user_1
$ HGet user_database pass_3

Verwenden Sie stattdessen den Befehl HGetall, um die Informationen aller Felder gleichzeitig zu erhalten:

$ HGetall user_database

In Redis kann ein Hash -Schlüssel bis zu 2^32 - 1 (mehr als 4 Milliarden) Feldwertpaare haben. Meistens werden Hashes verwendet, um Objekte darzustellen. Aufgrund seiner Natur können Hashes jedoch in zahlreichen Situationen nützlich sein.

Redis -Schlüssel verfällt

Alle Redis -Objekte haben eine Ablaufzeit. Standardmäßig wird der Wert auf nie gesetzt. Durch die Änderung dieses Wertes können wir jedoch Redis -Schlüssel einstellen. Sobald die Ablaufzeit übergeben ist, wird der Schlüssel aus der Datenbank gelöscht.

Obwohl es sich um eine verallgemeinerte Erklärung handelt, ist der tatsächliche Mechanismus der wichtigsten Ablauf etwas kompliziert. Schauen Sie sich die offizielle Redis-Dokumentation an, um den wichtigsten Ablaufmechanismus ausführlich zu erklären.

Um eine Ablaufzeit festzulegen, werden wir den Befehl Ablauf verwenden. Das folgende Beispiel zeigt seine Verwendung:

$ Set Hallo "Der schnelle braune Fuchs"
$ Abläufe Hallo 999

Hier wird der Schlüssel Hallo in 999 Sekunden verfallen. Verwenden Sie den Befehl TTL, um die Zeit zu überprüfen, um einen Schlüssel zu verfallen, um zu verfallen:

$ Ttl Hallo

Die Ausgabe gibt die Zeit zurück, bevor der Schlüssel abläuft. Bei einem Fehler kann TTL jedoch unterschiedliche Werte zurückgeben:

  • -2 Wenn der Schlüssel nicht existiert.
  • -1 Wenn der Schlüssel keinen zugeordneten Ablauf hat.

Auslaufer Hash -Schlüssel

Jetzt, da wir die Hash -Tasten verstehen und wie wichtiger Ablauf funktioniert, ist es Zeit, sie in Aktion zu setzen.

Wenn wir uns mit dem Hash -Schlüsselbeispiel fortsetzen, lassen Sie uns eine Ablaufzeit an user_database setzen:

$ Leugnung user_database 999

Um diese Aktion zu überprüfen, überprüfen Sie den TTL -Wert von user_database:

$ Ttl user_database

Optionen ablehnen

Der Befehl aus Ablauf verfügt über einige zusätzliche Optionen, die einige zusätzliche Bedingungen implementieren, wenn die Ablaufzeit festgelegt wird. Diese sind wie folgt:

  • NX: Die Ablaufzeit wird nur festgelegt, wenn der Schlüssel keinen Ablauf hat.
  • XX: Die Ablaufzeit wird nur festgelegt, wenn der Schlüssel vorhanden ist.
  • GT: Die neue Ablaufzeit wird festgelegt, wenn die neue Ablauf größer ist als die aktuelle.
  • LT: Die neue Ablaufzeit wird festgelegt, wenn die neue Ablauf geringer ist als die aktuelle.

Bei der Implementierung der Optionen sieht der Befehl ungefähr so ​​aus:

$ Verfallen

Lassen Sie uns die Ablaufzeit von user_database fortsetzen:

$ Leugnung user_database 9999 gt

Überprüfen Sie, ob die Ablaufzeit aktualisiert wurde:

$ Ttl user_database

Abschließende Gedanken

In diesem Leitfaden haben wir einen Hash -Schlüssel in Redis untersucht. Redis verfügt über einen dedizierten Befehl verfällt, um eine Ablaufzeit für Schlüssel festzulegen. Wir haben gezeigt, wie man diesen Befehl verwendet, um einen Demo -Schlüssel zu verfallen. Wir haben auch verschiedene Optionen untersucht, die der Befehl Ablauf unterstützt.

Möchten Sie mehr über Redis erfahren? Die Redis-Unterkategorie ist voller ausführlicher Führer. Erfahren Sie mehr über Common Redis -Befehle, den BitCount -Befehl, Pipelining usw.

Happy Computing!