Inhaltsverzeichnis
Einführung in die Redis-Datenstruktur
Befehl
Befehlsverwendung
Verwendung
Zset有序集合
Heim Datenbank Redis Lassen Sie uns ausführlich über die 5 grundlegenden Datentypen in Redis sprechen

Lassen Sie uns ausführlich über die 5 grundlegenden Datentypen in Redis sprechen

Nov 23, 2021 pm 06:56 PM
redis 基本数据类型

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!

Lassen Sie uns ausführlich über die 5 grundlegenden Datentypen in Redis sprechen

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]

Lassen Sie uns ausführlich über die 5 grundlegenden Datentypen in Redis sprechen

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-Hashenthält Methoden zum Hinzufügen, Abrufen und Löschen eines einzelnen ElementsZset geordnete Mengezwischen 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 MitgliedString-Zeichen String 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
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
Enthält keinen Schlüsselwert Paare Eine geordnete Hash-Tabelle
Wie ein Hash wird sie zum Speichern von Schlüssel-Wert-Paaren
Detaillierte Erklärung der grundlegenden Datenstruktur
String ist der grundlegendste Datentyp in Redis, ein Schlüssel entspricht einem Wert.

Befehl

Kurzbeschreibung

Mit

  • GETDen im angegebenen Schlüssel gespeicherten Wert abrufen Name
SETDELLöschen des im angegebenen Schlüssel gespeicherten WertsErhöhen des im Schlüssel gespeicherten Werts um 1Verringern Sie den vom Schlüssel gespeicherten Wert um 1. Schlüsselspeicher Der Wert minus der Ganzzahl
Set der im angegebenen Schlüssel gespeicherte Wert SET name value
DEL name INCR
INCR key DECR
DECR-Taste. INCRBY VON
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
LPUSHRPOPLPOP LRANGELINDEXlpush+ltrim=Begrenzte Sammlung (begrenzte Sammlung)
RPUSHSchieben Sie den angegebenen Wert an das rechte Ende der Liste RPUSH-Schlüsselwert
Den angegebenen Wert an das linke Ende der Liste verschiebenLPUSH-Schlüsselwert
Einen Wert vom rechten Ende der Liste einfügen und den angezeigten Wert zurückgebenRPOP-Schlüssel
aus der Liste Einen Wert am linken Ende einfügen und den angezeigten Wert zurückgebenLPOP-Taste
Alle Werte der Liste im angegebenen Bereich abrufenLRANGE-Taste 0 -1
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. LINEX-Schlüsselindex
Tipps zur Verwendung von Listenlpush+lpop=Stapel(Stapel)lpush+rpop=Warteschlange(Warteschlange)
lpush +brpop=Nachrichtenwarteschlange (Nachrichtenwarteschlange)
    • Befehlsausführung
    • 127.0.0.1:6379> lpush mylist 1 2 ll ls mem
      (integer) 5
      127.0.0.1:6379> lrange mylist 0 -1
      1) "mem"
      2) "ls"
      3) "ll"
      4) "2"
      5) "1"
      127.0.0.1:6379> lindex mylist -1
      "1"
      127.0.0.1:6379> lindex mylist 10        # index不在 mylist 的区间范围内
      (nil)
      Nach dem Login kopieren
    • Praktisches Szenario
  • Weibo-Zeitleiste
  • : 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
SCARDSMEMBER SISMEMBER-SchlüsselmitgliedEinige andere Mengenoperationen finden Sie hierhttps://www.runoob.com/redis/redis-sets.html
127.0.0.1:6379> sadd myset ycf ycf1 xiao ycf
(integer) 3
127.0.0.1:6379> smember myset
1) "xiao"
2) "ycf1"
3) "ycf"
127.0.0.1:6379> sismember myset ycf
(integer) 1
Nach dem Login kopieren
Tatsächliches Szenario (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.
SADDEin oder mehrere Mitglieder zur Sammlung hinzufügen SADD-Schlüsselwert
Rufen Sie die Anzahl der Mitglieder des Satzes ab.SCARD-Schlüssel.
Befehlsausführung
Tags
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üsselHDEL-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"
Nach dem Login kopieren
  • 实战场景
    • 缓存: 能直观,相比string更节省空间,的维护缓存信息,如用户信息,视频信息等。

Zset有序集合

Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

  • 命令使用
命令简述使用
ZADD将一个带有给定分值的成员添加到哦有序集合里面ZADD zset-key 178 member1
ZRANGE根据元素在有序集合中所处的位置,从有序集合中获取多个元素ZRANGE zset-key 0-1 withccores
ZREM如果给定元素成员存在于有序集合中,那么就移除这个元素ZREM zset-key member1

更多命令请参考这里

https://www.runoob.com/redis/redis-sorted-sets.html

  • 命令执行
127.0.0.1:6379> zadd myscoreset 100 ycf 90 xiaoycf
(integer) 2
127.0.0.1:6379> ZRANGE myscoreset 0 -1
1) "xiaoycf"
2) "ycf"
127.0.0.1:6379> ZSCORE myscoreset ycf
"100"
Nach dem Login kopieren
  • 实战场景
    • 排行榜:有序集合经典使用场景。例如小说视频等网站需要对用户上传的小说视频做排行榜,榜单可以按照用户关注数,更新时间,字数等打分,做排行。

更多编程相关知识,请访问:编程视频!!

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!

Erklärung dieser 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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie den Redis -Clustermodus So erstellen Sie den Redis -Clustermodus Apr 10, 2025 pm 10:15 PM

Der Redis -Cluster -Modus bietet Redis -Instanzen durch Sharding, die Skalierbarkeit und Verfügbarkeit verbessert. Die Bauschritte sind wie folgt: Erstellen Sie ungerade Redis -Instanzen mit verschiedenen Ports; Erstellen Sie 3 Sentinel -Instanzen, Monitor -Redis -Instanzen und Failover; Konfigurieren von Sentinel -Konfigurationsdateien, Informationen zur Überwachung von Redis -Instanzinformationen und Failover -Einstellungen hinzufügen. Konfigurieren von Redis -Instanzkonfigurationsdateien, aktivieren Sie den Cluster -Modus und geben Sie den Cluster -Informationsdateipfad an. Erstellen Sie die Datei nodes.conf, die Informationen zu jeder Redis -Instanz enthält. Starten Sie den Cluster, führen Sie den Befehl erstellen aus, um einen Cluster zu erstellen und die Anzahl der Replikate anzugeben. Melden Sie sich im Cluster an, um den Befehl cluster info auszuführen, um den Clusterstatus zu überprüfen. machen

So löschen Sie Redis -Daten So löschen Sie Redis -Daten Apr 10, 2025 pm 10:06 PM

So löschen Sie Redis -Daten: Verwenden Sie den Befehl Flushall, um alle Schlüsselwerte zu löschen. Verwenden Sie den Befehl flushdb, um den Schlüsselwert der aktuell ausgewählten Datenbank zu löschen. Verwenden Sie SELECT, um Datenbanken zu wechseln, und löschen Sie dann FlushDB, um mehrere Datenbanken zu löschen. Verwenden Sie den Befehl del, um einen bestimmten Schlüssel zu löschen. Verwenden Sie das Redis-Cli-Tool, um die Daten zu löschen.

So lesen Sie Redis -Warteschlange So lesen Sie Redis -Warteschlange Apr 10, 2025 pm 10:12 PM

Um eine Warteschlange aus Redis zu lesen, müssen Sie den Warteschlangenname erhalten, die Elemente mit dem Befehl LPOP lesen und die leere Warteschlange verarbeiten. Die spezifischen Schritte sind wie folgt: Holen Sie sich den Warteschlangenname: Nennen Sie ihn mit dem Präfix von "Warteschlange:" wie "Warteschlangen: My-Queue". Verwenden Sie den Befehl LPOP: Wischen Sie das Element aus dem Kopf der Warteschlange aus und geben Sie seinen Wert zurück, z. B. die LPOP-Warteschlange: my-queue. Verarbeitung leerer Warteschlangen: Wenn die Warteschlange leer ist, gibt LPOP NIL zurück, und Sie können überprüfen, ob die Warteschlange existiert, bevor Sie das Element lesen.

So verwenden Sie den Befehl Redis So verwenden Sie den Befehl Redis Apr 10, 2025 pm 08:45 PM

Die Verwendung der REDIS -Anweisung erfordert die folgenden Schritte: Öffnen Sie den Redis -Client. Geben Sie den Befehl ein (Verbschlüsselwert). Bietet die erforderlichen Parameter (variiert von der Anweisung bis zur Anweisung). Drücken Sie die Eingabetaste, um den Befehl auszuführen. Redis gibt eine Antwort zurück, die das Ergebnis der Operation anzeigt (normalerweise in Ordnung oder -err).

So verwenden Sie Redis Lock So verwenden Sie Redis Lock Apr 10, 2025 pm 08:39 PM

Um die Operationen zu sperren, muss die Sperre durch den Befehl setNX erfasst werden und dann den Befehl Ablauf verwenden, um die Ablaufzeit festzulegen. Die spezifischen Schritte sind: (1) Verwenden Sie den Befehl setNX, um zu versuchen, ein Schlüsselwertpaar festzulegen; (2) Verwenden Sie den Befehl Ablauf, um die Ablaufzeit für die Sperre festzulegen. (3) Verwenden Sie den Befehl Del, um die Sperre zu löschen, wenn die Sperre nicht mehr benötigt wird.

So lesen Sie den Quellcode von Redis So lesen Sie den Quellcode von Redis Apr 10, 2025 pm 08:27 PM

Der beste Weg, um Redis -Quellcode zu verstehen, besteht darin, Schritt für Schritt zu gehen: Machen Sie sich mit den Grundlagen von Redis vertraut. Wählen Sie ein bestimmtes Modul oder eine bestimmte Funktion als Ausgangspunkt. Beginnen Sie mit dem Einstiegspunkt des Moduls oder der Funktion und sehen Sie sich die Codezeile nach Zeile an. Zeigen Sie den Code über die Funktionsaufrufkette an. Kennen Sie die von Redis verwendeten Datenstrukturen. Identifizieren Sie den von Redis verwendeten Algorithmus.

So verwenden Sie die Befehlszeile der Redis So verwenden Sie die Befehlszeile der Redis Apr 10, 2025 pm 10:18 PM

Verwenden Sie das Redis-Befehlszeilen-Tool (REDIS-CLI), um Redis in folgenden Schritten zu verwalten und zu betreiben: Stellen Sie die Adresse und den Port an, um die Adresse und den Port zu stellen. Senden Sie Befehle mit dem Befehlsnamen und den Parametern an den Server. Verwenden Sie den Befehl Hilfe, um Hilfeinformationen für einen bestimmten Befehl anzuzeigen. Verwenden Sie den Befehl zum Beenden, um das Befehlszeilenwerkzeug zu beenden.

So lösen Sie Datenverlust mit Redis So lösen Sie Datenverlust mit Redis Apr 10, 2025 pm 08:24 PM

Zu den Ursachen für Datenverluste gehören Speicherausfälle, Stromausfälle, menschliche Fehler und Hardwarefehler. Die Lösungen sind: 1. Speichern Sie Daten auf Festplatten mit RDB oder AOF Persistenz; 2. Kopieren Sie auf mehrere Server, um eine hohe Verfügbarkeit zu erhalten. 3. Ha mit Redis Sentinel oder Redis Cluster; 4. Erstellen Sie Schnappschüsse, um Daten zu sichern. 5. Implementieren Sie Best Practices wie Persistenz, Replikation, Schnappschüsse, Überwachung und Sicherheitsmaßnahmen.

See all articles