Die folgende Spalte des Redis-Tutorials stellt Ihnen die Verwendungsszenarien der 5 Datenstrukturen in Redis vor: String, Hash, List, Set und Sorted Set Friends in Not Du kannst darauf verweisen!
1. Redis Datenstruktur-Nutzungsszenarien
Ich habe ursprünglich das Buch Redisbook gelesen und bin bereits mit den Grundfunktionen von Redis vertraut. Ich habe letzte Woche begonnen, den Quellcode von Redis zu lesen. Das aktuelle Ziel besteht darin, die Datenstruktur von Redis vollständig zu verstehen. Wir alle wissen, dass es in Redis 5 Datenstrukturen gibt. Was sind also die Verwendungsszenarien jeder Datenstruktur?
String – String
Hash – Wörterbuch
List – Liste
Set – Menge
Sorted Set – geordnete Menge
Lassen Sie uns kurz ihre jeweiligen Verwendungsszenarien erklären:
1.String – String
String-Datenstruktur ist ein einfacher Schlüssel -value-Typ. Der Wert kann nicht nur String, sondern auch eine Zahl sein (wenn der Zahlentyp durch Long dargestellt werden kann, ist die Codierung ein Integer-Typ und die anderen werden in sdshdr als Strings gespeichert. ). Mit dem Strings-Typ können die aktuellen Funktionen von Memcached vollständig und effizienter realisiert werden. Sie können auch die geplante Persistenz von Redis (Sie können zwischen RDB-Modus und AOF-Modus wählen), Betriebsprotokolle, Replikation und andere Funktionen nutzen. Redis bietet nicht nur die gleichen Get-, Set-, Incr-, Decr- und anderen Vorgänge wie Memcached, sondern auch die folgenden Vorgänge:
1.LEN niushuai:O(1)获取字符串长度 2.APPEND niushuai redis:往字符串 append 内容,而且采用智能分配内存(每次2倍) 3.设置和获取字符串的某一段内容 4.设置及获取字符串的某一位(bit) 5.批量设置一系列字符串的内容 6.原子计数器 7.GETSET 命令的妙用,请于清空旧值的同时设置一个新值,配合原子计数器使用
1.Hash - Dictionary
In Memcached packen wir häufig einige strukturierte Informationen in eine Hashmap, die als gespeichert wird ein Zeichenfolgenwert (normalerweise im JSON-Format) nach der Serialisierung auf dem Client, z. B. Spitzname, Alter, Geschlecht, Punkte usw. des Benutzers. Wenn Sie zu diesem Zeitpunkt eines der Elemente ändern müssen, müssen Sie normalerweise die Zeichenfolge (JSON) herausnehmen, sie dann deserialisieren, den Wert eines bestimmten Elements ändern und sie dann in eine Zeichenfolge (JSON) serialisieren und speichern es zurück. Das einfache Ändern eines Attributs, um so viele Dinge zu tun, muss sehr teuer sein und ist nicht für Situationen geeignet, in denen gleichzeitige Vorgänge möglich sind (z. B. müssen zwei gleichzeitige Vorgänge Punkte ändern). Mit der Hash-Struktur von Redis können Sie nur einen bestimmten Attributwert ändern, genau wie beim Aktualisieren eines Attributs in der Datenbank.
Eine Kombination eindeutiger Werte. Einige Sammeldaten können mithilfe der von Redis bereitgestellten Set-Datenstruktur gespeichert werden. In der Weibo-Anwendung können beispielsweise alle Follower eines Benutzers in einer Sammlung und alle Fans in einer Sammlung gespeichert werden. Da Redis sehr benutzerfreundlich ist und Operationen wie Schnittmenge, Vereinigung und Differenz für Sammlungen bereitstellt, ist es für Sie sehr praktisch, Funktionen wie gemeinsame Aufmerksamkeit, gemeinsame Präferenzen und Freunde zweiten Grades zu implementieren Sie können auch verschiedene Befehle verwenden, um auszuwählen, ob die Ergebnisse an den Client zurückgegeben oder in einer neuen Sammlung gespeichert werden sollen.
存储、读取、修改用户属性
Im Vergleich zu Sets fügt Sorted Sets den Elementen im Set eine Gewichtungsparameterbewertung hinzu, sodass die Elemente im Set entsprechend der Bewertung geordnet angeordnet werden können. Beispielsweise speichert ein Sorted Set die Noten der Für die gesamte Klasse kann der festgelegte Wert die Studenten-ID-Nummer des Mitschülers sein, und die Punktzahl kann sein/ihr Testergebnis sein, sodass beim Einfügen der Daten in die Sammlung bereits eine natürliche Sortierung durchgeführt wurde. Darüber hinaus können Sorted Sets auch zum Erstellen einer gewichteten Warteschlange verwendet werden. Beispielsweise beträgt die Bewertung normaler Nachrichten 1 und die Bewertung wichtiger Nachrichten 2. Anschließend kann der Arbeitsthread die Arbeitsaufgaben in umgekehrter Reihenfolge abrufen der Partitur. Priorisieren Sie wichtige Aufgaben.
1. Elemente mit Gewichten, wie z. B. die Benutzer-Score-Rangliste eines Spiels