Heim  >  Artikel  >  Datenbank  >  Einführung in Nutzungsszenarien der Redis-Datenstruktur

Einführung in Nutzungsszenarien der Redis-Datenstruktur

王林
王林nach vorne
2021-03-09 09:09:432238Durchsuche

Einführung in Nutzungsszenarien der Redis-Datenstruktur

Die Redis-Datenbank enthält fünf Datenstrukturen: Zeichenfolge, Hash-Wörterbuch, Liste, Satz und sortierter Satz.

Diese fünf Datenstrukturen haben unterschiedliche Nutzungsszenarien. Im Folgenden stellen wir ihre Nutzungsszenarien vor.

1. String

Die String-Datenstruktur ist ein einfacher Schlüsselwerttyp werden in sdshdr als String gespeichert). Mit dem String-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 den RDB-Modus oder AOF-Modus wählen), das Betriebsprotokoll und die Replikation sowie 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 命令的妙用,请于清空旧值的同时设置一个新值,配合原子计数器使用

2, Hash

In Memcached packen wir häufig einige strukturierte Informationen in HashMap. Nach der Serialisierung auf der Client wird es als Zeichenfolgenwert (normalerweise im JSON-Format) gespeichert, z. B. der Spitzname, das Alter, das Geschlecht 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. erfordern zwei gleichzeitige Vorgänge eine Änderung des Alters). Mit der Hash-Struktur von Redis können Sie nur einen bestimmten Attributwert ändern, genau wie beim Aktualisieren eines Attributs in der Datenbank. (Speichern, Lesen und Ändern von Benutzerattributen)

Liste

Liste ist einfach eine verknüpfte Liste (Redis verwendet eine doppelendige verknüpfte Liste, um Liste zu implementieren). Struktur. Mithilfe der Listenstruktur können wir problemlos Funktionen wie das Ranking der neuesten Nachrichten (z. B. TimeLine von Sina Blog) implementieren. 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 Aufgabe zur Ausführung herauszunehmen. Redis bietet auch eine API zum Betreiben eines bestimmten Elementsegments in der Liste. Sie können ein bestimmtes Elementsegment in der Liste direkt abfragen und löschen.

(Lernvideo-Sharing: Redis-Datenbank-Tutorial)

4. Set

Set ist eine Kombination aus einer Reihe sich nicht wiederholender 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, kann es für alle oben genannten Sammlungsoperationen sehr praktisch sein, 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.

1.共同好友、二度好友
2.利用唯一性,可以统计访问网站的所有独立 IP
3.好友推荐的时候,根据 tag 求交集,大于某个 threshold 就可以推荐

5. Sorted Set

Im Vergleich zu Set fügt Sorted Set den Elementen im Set eine Gewichtungsparameterbewertung hinzu, sodass die Elemente im Set entsprechend der Bewertung geordnet angeordnet werden können, z Die Noten der gesamten Klasse werden sortiert. Der festgelegte Wert kann die Schülernummer eines Klassenkameraden sein, und die Punktzahl kann die Testnote sein, sodass beim Einfügen der Daten in den Satz bereits eine natürliche Sortierung durchgeführt wurde. Darüber hinaus kann Sorted Set auch zum Erstellen einer gewichteten Warteschlange verwendet werden. Beispielsweise beträgt die Punktzahl für normale Nachrichten 1 und die Punktzahl für wichtige Nachrichten 2. Dann kann der Arbeitsthread die umgekehrte Reihenfolge der Wunde wählen, um die Arbeit zu erhalten Aufgaben. Priorisieren Sie wichtige Aufgaben.

2. Verwendungsszenarien anderer Redis-Funktionen

Pub/Sub bedeutet wörtlich „Veröffentlichung“ und „Abonnement“ (Abonnieren). Abonnement Wenn eine Nachricht für einen Schlüsselwert veröffentlicht wird, erhalten alle Clients, die sie abonnieren, die entsprechende Nachricht. Die offensichtlichste Verwendung dieser Funktion ist die eines Echtzeit-Nachrichtensystems. 2. Transaktionen einige Der Befehl wurde ausgeführt, der Rest wurde nicht ausgeführt), aber diese Transaktion bietet weiterhin die Grundfunktion der Befehlspaketierung und -ausführung (wenn kein Problem mit dem Server vorliegt, kann garantiert werden, dass eine Reihe von Befehlen zusammen ausgeführt werden In der Mitte werden weitere Befehle eingefügt und ausgeführt. Redis bietet auch eine Überwachungsfunktion. Sie können einen Schlüssel überwachen und dann die Transaktion ausführen. Wenn sich der Wert der Überwachung ändert, wird die Transaktion erkannt und die Ausführung verweigert.

Verwandte Empfehlungen:

Redis-Datenbank-Tutorial

Das obige ist der detaillierte Inhalt vonEinführung in Nutzungsszenarien der Redis-Datenstruktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen