Lassen Sie uns ausführlich über die 5 grundlegenden Datentypen in Redis sprechen
青灯夜游
Freigeben: 2021-11-23 18:56:55
nach vorne
2307 Leute haben es durchsucht
Dieser Artikel vermittelt Ihnen ein detailliertes Verständnis der 5 grundlegenden Datentypen in Redis (String, List, Set, Hash, Zset Ordered Set). Ich hoffe, er wird Ihnen hilfreich sein!
Einführung in die Redis-Datenstruktur
Bei Redis sind alle Schlüssel Zeichenfolgen. Wenn wir über grundlegende Datenstrukturen sprechen, besprechen wir die Datentypen zum Speichern von Werten, zu denen hauptsächlich fünf gängige Datentypen gehören: String, List, Set, Zset und Hash. [Verwandte Empfehlungen: Redis-Video-Tutorial]
Strukturtyp
Der in der Struktur gespeicherte Wert
Die Lese- und Schreibfunktionen der Struktur
String-String
kann eine Zeichenfolge, eine Ganzzahl oder eine Gleitkommazahl sein, auf der gesamten Zeichenfolge oder auf einem Teil der Zeichenfolge operieren; eine Inkrementierungs- oder Dekrementierungsoperation für eine Ganzzahl oder eine Gleitkommazahl durchführen, eine verknüpfte Liste; Jeder Knoten enthält eine Zeichenfolge
Führen Sie Push- und Pop-Operationen an beiden Enden der verknüpften Liste aus, lesen Sie einzelne oder mehrere Elemente basierend auf dem Wert
Eine Sammlung von Zeichenfolgen, einschließlich grundlegender Methoden, um zu sehen, ob es Addition, Erwerb und Löschung gibt; sie umfasst auch die Berechnung von Schnittmenge, Vereinigung, Differenz usw.
Hash-Hash
Enthält keinen Schlüsselwert Paare Eine geordnete Hash-Tabelle
enthält Methoden zum Hinzufügen, Abrufen und Löschen eines einzelnen Elements
Zset geordnete Menge
Wie ein Hash wird sie zum Speichern von Schlüssel-Wert-Paaren
zwischen String-Mitgliedern und verwendet Fließkomma-Brüche Geordnete Zuordnung; die Reihenfolge der Elemente wird durch die Größe der Punktzahl bestimmt; die Einschlussmethoden umfassen das Hinzufügen, Erhalten, Löschen eines einzelnen Elements und das Abrufen von Elementen basierend auf dem Bewertungsbereich oder Mitglied
Detaillierte Erklärung der grundlegenden Datenstruktur
String-Zeichen String
String ist der grundlegendste Datentyp in Redis, ein Schlüssel entspricht einem Wert.
String-Typ ist binärsicher, was bedeutet, dass Redis-String beliebige Daten enthalten kann. Zum Beispiel Zahlen, Zeichenfolgen, JPG-Bilder oder serialisierte Objekte.
Befehl mit
Befehl
Kurzbeschreibung
Mit
GETDen im angegebenen Schlüssel gespeicherten Wert abrufen Name
SET
Set der im angegebenen Schlüssel gespeicherte Wert
SET name value
DEL
Löschen des im angegebenen Schlüssel gespeicherten Werts
DEL name
INCR
Erhöhen des im Schlüssel gespeicherten Werts um 1
INCR key
DECR
Verringern Sie den vom Schlüssel gespeicherten Wert um 1.
DECR-Taste.
INCRBY VON
Schlüsselspeicher Der Wert minus der Ganzzahl
DECRBY-Schlüsselmenge
Befehlsausführung
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> get hello
"world"
127.0.0.1:6379> del hello
(integer) 1
127.0.0.1:6379> get hello
(nil)
127.0.0.1:6379> get counter
"2"
127.0.0.1:6379> incr counter
(integer) 3
127.0.0.1:6379> get counter
"3"
127.0.0.1:6379> incrby counter 100
(integer) 103
127.0.0.1:6379> get counter
"103"
127.0.0.1:6379> decr counter
(integer) 102
127.0.0.1:6379> get counter
"102"
Nach dem Login kopieren
Praktisches Szenario
Cache: Klassisches Nutzungsszenario, legen Sie allgemeine Informationen, Zeichenfolgen, Bilder oder Videos und andere Informationen in Redis ab, Redis dient als Cache-Ebene und MySQL dient als Persistenzschicht: Reduzieren Sie den Lese- und Schreibdruck von MySQL.
Counter: Redis ist ein Single-Threaded-Modell, bis der nächste ausgeführt wird. Gleichzeitig können die Daten in einem Schritt auf andere Datenquellen übertragen werden.
Sitzung: Eine gängige Lösung ist Spring Session + Redis, um die Sitzungsfreigabe zu realisieren Liste).
Mit der Listenstruktur können wir problemlos die neueste Nachrichtenwarteschlangenfunktion implementieren (z. B. TimeLine von Sina Weibo). Eine weitere Anwendung von List ist die Nachrichtenwarteschlange. Sie können die PUSH-Operation von List verwenden, um Aufgaben in der Liste zu speichern, und dann verwendet der Arbeitsthread die POP-Operation, um die Aufgaben zur Ausführung herauszunehmen.
Befehlsverwendung
Befehl
KurzbeschreibungVerwendung
RPUSH
Schieben Sie den angegebenen Wert an das rechte Ende der Liste
RPUSH-Schlüsselwert
LPUSH
Den angegebenen Wert an das linke Ende der Liste verschieben
LPUSH-Schlüsselwert
RPOP
Einen Wert vom rechten Ende der Liste einfügen und den angezeigten Wert zurückgeben
RPOP-Schlüssel
LPOP
aus der Liste Einen Wert am linken Ende einfügen und den angezeigten Wert zurückgeben
LPOP-Taste
LRANGE
Alle Werte der Liste im angegebenen Bereich abrufen
LRANGE-Taste 0 -1
LINDEX
Holen Sie sich die Liste nach Indexelementen in . Sie können auch negative Indizes verwenden, wobei -1 das letzte Element der Liste, -2 das vorletzte Element der Liste usw. darstellt.
: Jemand postet ein Weibo, fügt es mit lpush zur Zeitleiste hinzu und zeigt neue Listeninformationen an.
Message Queue
Set Collection
Redis‘ Set ist eine ungeordnete Sammlung vom Typ String. Satzmitglieder sind eindeutig, was bedeutet, dass im Satz keine doppelten Daten vorkommen können.
Sammlungen in Redis werden über Hash-Tabellen implementiert, sodass die Komplexität des Hinzufügens, Löschens und Suchens O(1) beträgt.
Befehlsverwendung
Befehl
Kurzbeschreibung Verwendung
SADD
Ein oder mehrere Mitglieder zur Sammlung hinzufügen
SADD-Schlüsselwert
SCARD
Rufen Sie die Anzahl der Mitglieder des Satzes ab.
(Tag), fügen Sie dem Benutzer ein Tag hinzu, oder der Benutzer fügt der Nachricht ein Tag hinzu, damit Personen mit demselben Tag oder ähnlichen Tags Dinge oder Personen empfehlen können, denen sie folgen können.
Likes oder Klicks, Favoriten usw.
können in einem Satz platziert werden, um
Hash-Hash
Redis-Hash ist eine Zuordnungstabelle für Felder vom Typ Zeichenfolge (Feld) und Wert (Wert). Hashes eignen sich besonders gut zum Speichern von Objekten.
Befehlsverwendung
Befehl
Kurze Beschreibung
Verwendung
HSET
Schlüssel-Wert-Paar hinzufügen
HSET-Hash-Schlüssel-Unterschlüssel1-Wert1
HGET
Erhalten Sie den Wert des angegebenen Hash-Schlüssels Schlüssel im Hash vorhanden ist, dann entfernen Sie diesen Schlüssel
HDEL-Hash-Schlüssel-Unterschlüssel1
命令执行
127.0.0.1:6379> hset user name1 ycf
(integer) 1
127.0.0.1:6379> hset user email1 ycf@163.com
(integer) 1
127.0.0.1:6379> hgetall user
1) "name1"
2) "ycf"
3) "email1"
4) "ycf@163.com"
127.0.0.1:6379> hget user user
(nil)
127.0.0.1:6379> hget user name1
"ycf"
127.0.0.1:6379> hset user name2 xiaoycf
(integer) 1
127.0.0.1:6379> hset user email2 xiaoycf@163.com
(integer) 1
127.0.0.1:6379> hgetall user
1) "name1"
2) "ycf"
3) "email1"
4) "ycf@163.com"
5) "name2"
6) "xiaoycf"
7) "email2"
8) "xiaoycf@163.com"
Das obige ist der detaillierte Inhalt vonLassen Sie uns ausführlich über die 5 grundlegenden Datentypen in Redis sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn