„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Redis 2

Redis 2

Veröffentlicht am 15.08.2024
Durchsuche:598

Redis 2

Redis – Listen, Mengen und HashMaps

Dies ist eine Fortsetzung des vorherigen Blogposts

Neben Schlüssel-Wert-Paaren stehen noch drei weitere Datentypen zur Verfügung

Listen

Diese Datenstruktur ähnelt der Liste in Python oder dem Array in Javascript oder C#. Sie können zur Aufbewahrung kürzlich verwendeter Gegenstände verwendet werden. Die üblichen Operationen sind:

Operationen Erläuterungen Beispiele Weitere Erläuterungen
LPUSH Fügt ein Element am Anfang der Liste hinzu LPUSH-Freunde „Sophia“ ähnlich wie Array.unshift in Javascript
LRANGE Alle Elemente in einer Liste abrufen LRANGE Freunde 0 -1 Ähnlich ist eine Liste in Python 0 das erste Element und -1 das letzte Element
RPUSH Fügt ein Element am Ende der Liste hinzu RPUSH Freunde „Poe“ ähnlich wie Array.push in Javascript
LPOP Entfernt ein Element vom Anfang der Liste LPOP-Freunde „Poe“ Gibt 1 zurück, wenn Poe in der Liste vorhanden ist, andernfalls 0
RPOP Entfernt ein Element vom Ende der Liste RPOP-Freunde „Sophia“ Gibt 1 zurück, wenn Sophia in der Liste vorhanden ist, andernfalls 0

Sets

Eine Datenstruktur, die nur eindeutige Elemente enthält. ähnlich wie Sets in Python und Sets in Javascript und HashSets in C#. Zu den gängigen Operationen gehören:

Operationen Erläuterungen Beispiele Weitere Erläuterungen
SADD Fügt dem Satz einen Wert hinzu SADD-Farben „Rosa“
MITGLIEDER gibt die Mitglieder der Menge zurück SMEMBERS-Farben gibt alle Artikel in den festgelegten Farben zurück
SREM Entfernt Mitglieder des Sets SREM-Farben „Rosa“ Gibt 1 zurück, wenn Pink in der Liste vorhanden ist, andernfalls 0

Hashmaps

Eine Hashmap ist eine Gruppe von Schlüsselwertpaaren. Eine Hashmap kann jedoch nicht verschachtelt werden. Nehmen wir ein Szenario einer Person mit Namen, E-Mail-Adresse und Telefonnummer

HSET person name "Joe" # Adds the key-value pair {name : joe} to the hashmap
HSET person email "[email protected]" # Adds the key-value pair {email : [email protected]} to the hashmap
HSET person phone_number " 2345656655413" # Adds the key-value pair {number : ....} to the hashmap

Der Befehl HGET kann verwendet werden, um den Wert eines bestimmten Schlüssels in einer Hashmap abzurufen

HGET person name # returns "Joe"

Befehl HGETALL alle Schlüssel-Wert-Paare in der Hashmap

HGETALL person 

1) "name"
2) "Joe"
3) "email"
4) "[email protected]"
5) "phone_number"
6) " 2345656655413"

Der Befehl HDEL löscht ein Schlüssel-Wert-Paar anhand seines Schlüssels

HDEL person name # removes {name : joe}

Der Befehl HEXISTS prüft, ob ein Schlüssel in einem Hashset vorhanden ist

HEXISTS person name # returns 0 because we've deleted it before

Das sind die meisten grundlegenden Befehle, die ein Entwickler kennen muss.


Häufige Fragen im Vorstellungsgespräch

  1. Was ist die volle Bedeutung von Redis?: Redis steht für REmote DIctionary Server

  2. Wie unterscheidet sich Redis von herkömmlichen Datenbanken wie MySQL?: Redis arbeitet im Hauptspeicher und verfügt über grundlegende Operationen für den schnellen Zugriff auf Werte, im Gegensatz zu SQL, das auf der Festplatte liegt und über eine breite Palette von Rohoperationen verfügt

  3. Was sind die Einschränkungen von Redis hinsichtlich Datengröße und -typ?: Redis ist so konzipiert, dass es Werte speichert, die in den Speicher der Maschine passen. Es eignet sich nicht für komplexe relationale Modelle mit Joins oder zur Strukturierung großer Blobs

  4. Wie gehen Sie mit dem Caching in einer verteilten Umgebung mit Redis um?: Behandeln Sie das Caching, indem Sie Redis-Instanzen als Caching-Ebene vor der Datenbank einrichten. Die Verwendung von konsistentem Hashing zur Verteilung von Schlüsseln über die Cache-Knoten hinweg sorgt für eine gleichmäßige Lastverteilung und reduziert Cache-Fehler

  5. Wann sollten Sie Listendatentypen in Redis verwenden?: Listen eignen sich hervorragend für dauerhafte atomare Warteschlangen, für Jobwarteschlangen, Protokolle, Puffer und viele andere Anwendungsfälle

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/ezekiel_77/redis-2-fec?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3