Redis Hdel

Redis Hdel
„Redis-Hashes sind eine Sammlung von Feldwertpaaren vom String-Typ. Daher ist es eine ideale Datenstruktur, Objekte mit vielen Eigenschaften zu halten. Das Tolle an Redis-Hashes ist, dass sie mehr als vier Milliarden Feldwertpaare in einer geringen Menge an Speicher speichern können, die Sie dabei unterstützt, Hunderte von Objekten in sehr wenig Raum zu halten.

Wie in der obigen Abbildung gezeigt, können wir eine reale Entität leicht einem Redis-Hash zuordnen. Der Befehl hset wird verwendet, um einen neuen Hash zu erstellen und Feldwertpaare hinzuzufügen.”

Der HDEL -Befehl

Mit dem Befehl hdel werden ein oder mehrere Feldwertpaare von einem Redis -Hash entfernen, der in einem bestimmten Schlüssel gespeichert ist. Da dieser Befehl mehrere Feldargumente akzeptiert, ist die Zeitkomplexität direkt proportional zur Anzahl der zu beseitigen Felder.

Syntax

HDEL Hash_key Field [Feld…]

Hash_Key : Der Redisschlüssel des Hashs.

Feld : Der Name des Feldes, das Sie entfernen möchten.

Dieser Befehl enthält eine ganzzahlige Antwort, die die Anzahl der Felder ist, die aus dem angegebenen Hash entfernt wurden. Wenn Sie nicht existierende Felder angegeben haben, werden diese ignoriert und nicht gezählt.

Wenn der Schlüssel des Hashs nicht vorhanden ist, gibt der Befehl HDEL zusätzlich 0 zurück. 0.

Anwendung Fall 01: Entfernen Sie unerwünschte Benutzerdetails

Nehmen wir ein Szenario an, in dem wir Tausende von Mitarbeiterdetails eines Unternehmens speichern möchten. Da Redis-Hashes mehr speicheroptimiert sind, ist es der ideale Kandidat für diese Art von Arbeit.

Erstens werden wir einen neuen Hash erstellen Posteedetails: id: 1 Um die Details eines Mitarbeiter zu speichern. Der Befehl hset wird verwendet.

hset peopeedetails: id: 1 Empid 1 Name Jackhenry Alter 40 Gehalt $ 50000

Als nächstes werden wir überprüfen, ob der Hash erfolgreich hinzugefügt wurde. Der Befehl hGetall kann verwendet werden, um Details im Zusammenhang mit einem bestimmten Hash -Schlüssel abzufragen.

HGetall postedeEdetails: id: 1

Nehmen wir an, das Unternehmensmanagement habe darüber nachgedacht, die Lohn- und Gehaltsabrechnung an eine externe Partei zu lagern. Daher das Gehaltsfeld im Hash Posteedetails: id: 1 wird nicht mehr benötigt.

Verwenden wir den Befehl hdel, um das Gehaltsfeld aus dem Hash zu entfernen.

HDEL postedeEdetails: ID: 1 Gehalt

Dies sollte das Feld löschen Gehalt und sein Wert.

Ausgang

Nehmen wir an, das Unternehmen hat Mitarbeiter Urlaubsdetails in einem separaten Hash, der bei Key gespeichert ist, gespeichert PopiereneEELEAVE: ID: 1. Dieser Hash enthält die folgenden Details zu einem Mitarbeiter.

Jetzt dachte das Unternehmen daran, ein paar unnötige Felder aus diesem Hash zu entfernen. Da der Urlaubsgrund und die Notfallfelder nicht mehr benötigt werden, werden wir den Befehl HDEL verwenden, um diese beiden Felder gleichzeitig zu entfernen.

Hdel poldEeLeave: ID: 1 Grund Emergencyno

Ausgang

Wie erwartet wurde der Befehl 2 zurückgegeben, was bedeutet, dass zwei Felder erfolgreich aus dem Hash gelöscht wurden PopiereneEELEAVE: ID: 1.

Versuchen wir, ein Feld zu entfernen, das im Hash nicht existiert.

Hdel popleaEleave: id: 1 field1

Es kehrte 0 zurück, was bedeutet, dass nichts passiert ist, weil das Feld1 nicht existiert.

Wenn Sie einen Hash -Taste angeben, der nicht existiert, wird der Befehl HDEL 0 zurückgegeben, wie im Folgenden gezeigt.

Der HDEL-Befehl ist ein sehr einfacher Befehl zu verwenden und kann verwendet werden, um mehrere Feldwertpaare aus einem Hash effizient zu entfernen.

Abschluss

Zusammenfassend kann Redis-Hashes ein Array von String-Feldwertpaaren in kleinem Speicher halten. Ein Hash kann in einer Redis -Instanz mehr als vier Milliarden Felder aufbewahren. Daher handelt es sich um eine sehr speicheroptimierte Datenstruktur, die in realen Anwendungen verwendet werden kann, die sich mit Hunderten von Objekten befassen. Wie erläutert, können Sie den HDEL. Es arbeitet in O (n) Zeitkomplexität. Insgesamt ist der HDEL -Befehl ein sehr nützlicher Befehl, um unerwünschte Felder in einem in einem bestimmten Schlüssel gespeicherten Redis -Hash loszuwerden.