Einführung in grundlegende Befehle von 5 Datentypen in Redis
Redis ist eine Datenbank mit Schlüssel-Wert-Paaren. Es gibt 5 Hauptdatentypen:
String-Typ (String), Hash-Typ (Hash), Listentyp (. Liste), Satztyp (Set), geordneter Satztyp (zset)
Empfohlen: Redis-Tutorial
Ein paar grundlegende Befehle:
函数 | 说明 |
---|---|
keys * | 获得当前数据库的所有键 |
exists key [key ...] | 判断键是否存在,返回个数,如果key有一样的也是叠加数 |
del key [key ...] | 删除键,返回删除的个数 |
type key | 获取减值的数据类型(string,hash,list,set,zset) |
flushall | 清空所有数据库 |
config [get、set] | redis配置 |
-inf negative infinity
+inf positive infinity
1: String-Typ (String)
Der String-Typ ist der grundlegendste Typ von Redis, der speichern kann Jede Form von Zeichenfolge. Die anderen vier Typen sind alle unterschiedliche Formen des String-Typs.
function | Syntax | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Der grundlegendste Befehl : GET, SET | GET key, SET key value Wenn Leerzeichen vorhanden sind, sind zur Unterscheidung doppelte Anführungszeichen erforderlich der Wert | ||||||||||||||||||||||||||||||||
Integer-Inkrement: INCR | INCR key Der Standardwert ist 0, also führen Sie zuerst den Befehl aus, um 1 zu erhalten, was keine Ganzzahl ist und einen Fehler auslöst | ||||||||||||||||||||||||||||||||
Angegebene Ganzzahl erhöhen: INCRBY | INCRBY-Tasteninkrement | ||||||||||||||||||||||||||||||||
Ganzzahliges Dekrement: DECR | DECR-Taste Der Standardwert ist 0, also zuerst Führen Sie den Befehl aus, um -1 zu erhalten, was kein ganzzahliger Fehler ist | ||||||||||||||||||||||||||||||||
Verringern Sie die angegebene Ganzzahl: DECRBY | DECRBY-Tasteninkrement | ||||||||||||||||||||||||||||||||
Erhöhen Sie die angegebene Gleitkommazahl: INCRBYFLOAT | INCRBYFLOAT-Tasteninkrement und INCR Der Befehl ist ähnlich, außer dass er eine Gleitkommazahl mit doppelter Genauigkeit erhöhen kann | ||||||||||||||||||||||||||||||||
zum Ende hin Wert anhängen: APPEND | APPEND-Schlüsselwert Der Redis-Client gibt nicht die angehängte Zeichenfolge aus, sondern die Gesamtlänge der Zeichenfolge. | ||||||||||||||||||||||||||||||||
Erhalten Sie die Zeichenfolgenlänge: STRLEN | STRLEN-Taste Wenn der Schlüssel nicht vorhanden ist, geben Sie 0 zurück. Beachten Sie, dass bei Chinesisch die Länge eines chinesischen Zeichens 3 beträgt und Redis UTF-8-codiertes Chinesisch verwendet | ||||||||||||||||||||||||||||||||
Mehrere Schlüsselwerte abrufen: MGET | MGET key [key ...] Zum Beispiel: MGET key1 key2 | Mehrere Schlüsselwerte festlegen: MSET | MSET-Schlüsselwert [Schlüsselwert ... ] Zum Beispiel: MSET key1 1 key2 „hello redis“ | ||||||||||||||||||||||||||||||
| tr>|||||||||||||||||||||||||||||||||
Binären Positionswert festlegen: SETBIT | SETBIT-Schlüsseloffsetwert, gibt den alten Wert an dieser Position zurück | ||||||||||||||||||||||||||||||||
BITCOUNT-Taste [Start Ende], Start und Ende sind der Start und Endbytes | |||||||||||||||||||||||||||||||||
Bit-Operation: BITOP | BITOP operation destkey key [key ...], operation unterstützt AND und OR , style="border-color: rgb(221, 221 , 221);" width="627">BITPOS-Schlüsselbit [Start] [Ende] |
2: Hash-Typ (Hash)
函数 | 语法 |
---|---|
设置单个:HSET | HSET key field value,不存在时返回1,存在时返回0,没有更新和插入之分 |
设置多个:HMSET | HMSET key field value [field value ...] |
读取单个:HGET | HGET key field,不存在是返回nil |
读取多个:HMGET | HMGET key field [field ...] |
读取全部:HGETALL | HGETALL key,返回时字段和字段值的列表 |
判断字段是否存在:HEXISTS | HEXISTS key field,存在返回1 ,不存在返回0 |
字段不存在时赋值:HSETNX | HSETNX key field value,与hset命令不同,hsetnx是键不存在时设置值 |
增加数字:HINCRBY | HINCRBY key field increment ,返回增加后的数,不是整数时会提示错误 |
删除字段:HDEL | HDEL key field [field ...] ,返回被删除字段的个数 |
只获取字段名:HKEYS | HKEYS key ,返回键的所有字段名 |
只获取字段值:HVALS | HVALS key ,返回键的所有字段值 |
字段数量:HLEN | HLEN key ,返回字段总数 |
Drei: Listentyp (Liste)
Intern mithilfe einer doppelt verknüpften Liste implementiert, sodass die Elemente, die näher an beiden Enden liegen, schneller abgerufen werden, der Zugriff über Indizes jedoch langsamer ist
Syntax | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Fügen Sie das linke Element hinzu: LPUSH | LPUSH-Schlüsselwert [Wert ...], gibt die Gesamtzahl der hinzugefügten Listenelemente zurück | Fügen Sie das richtige Element hinzu: RPUSH | RPUSH-Schlüsselwert [Wert ...] , gibt die Gesamtzahl der hinzugefügten Listenelemente zurück | ||||||||||||||||||||||
Entfernen Sie das erste Element auf der linken Seite: LPOP | LPOP-Schlüssel, gibt den entfernten Elementwert zurück | ||||||||||||||||||||||||
Entferne den erstes Element rechts: RPOP | RPOP-Taste, gibt den Wert des entfernten Elements zurück | ||||||||||||||||||||||||
Anzahl der Listenelemente: LLEN | LLEN-Schlüssel, gibt 0 zurück, wenn er nicht existiert. Redis liest den vorhandenen Wert direkt und zählt die Zahl nicht | ||||||||||||||||||||||||
Listenfragment abrufen: LRANGE |
| < /tr>||||||||||||||||||||||||
Angegebenen Wert löschen: LREM | <🎜>LREM-Schlüssel-Zählerwert, gibt die Anzahl der gelöschten Elemente zurück<🎜><🎜>count>0, löscht die ersten Zählelemente mit dem Wert von links beginnend count<0, lösche die ersten |count|-Elemente mit dem Wert beginnend von rechts <🎜><🎜>count=0, lösche alle Elemente mit dem Wert <🎜> | Indexelementwert: LINDEX | LINDEX-Schlüsselindex, gibt den Elementwert des Index zurück, -1 bedeutet, beginnend mit der ersten Position ganz rechts | ||||||||||||||||||||||
Elementwert festlegen: LSET | LSET-Schlüsselindexwert | ||||||||||||||||||||||||
Reserviertes Listenfragment: LTRIM | LTRIM-Taste Start Stop, Start, Top siehe den lrange-Befehl | ||||||||||||||||||||||||
Eine Liste in eine andere übertragen: RPOPLPUSH | <🎜>RPOPLPUSH Quellziel, Übertragung von der Quellliste zur Zielliste. Dieser Befehl ist in zwei Schritte unterteilt. Zuerst wird die Quellliste RPOP von rechts entfernt und dann die Zielliste LPUSH<🎜> | tr>
Viertens: Satztyp (Satz)
Satztypwerte sind eindeutig: Das Hinzufügen, Löschen und Bestimmen, ob ein Wert im Satz vorhanden ist, wird mithilfe eines Hashs implementiert Tabelle mit leeren Werten von.
function | Syntax | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Element hinzufügen: SADD |
| ||||||||||||||||||||||||
Element löschen: SREM | SREM-Schlüsselmitglied [Mitglied ...] Löschen Sie ein oder mehrere Elemente in der Sammlung und geben Sie die Anzahl der erfolgreich gelöschten Elemente zurück. | ||||||||||||||||||||||||
Alle Elemente abrufen: SMEMBERS | SMEMBERS-Taste, alle Elemente der Sammlung zurückgeben | ||||||||||||||||||||||||
Ob der Wert existiert: SISMEMBER | SISMEMBER-Schlüsselmitglied, wenn es existiert, gibt es 1 zurück, wenn es nicht existiert, gibt es 0 zurück | ||||||||||||||||||||||||
Differenzoperation: SDIFF | SDIFF-Taste [Taste .. .], zum Beispiel: Satz A und Satz B. Der Differenzsatz stellt A-B dar. Die Elemente in A sind nicht in B, und der Differenzsatz wird mehrfach zurückgegeben (A-B)-C | Schnittpunktoperation: SINTER | SINTER-Schlüssel [Schlüssel ...], gibt die Schnittmengenmenge und die Elemente jeder Menge zurück | ||||||||||||||||||||||
Union-Operation: SUNION | SUNION-Schlüssel [key ...], gibt die Vereinigungsmenge aller Elemente der Sammlung zurück | ||||||||||||||||||||||||
Anzahl der Elemente in der Sammlung: SCARD | < td style="border-color: rgb(221, 221, 221);" width="642">SCARD-Schlüssel, gibt die Anzahl der Sammlungselemente zurück< /td>|||||||||||||||||||||||||
Speichern des Ergebnisses nach der Set-Operation | <🎜>SDIFFSTROE Zielschlüssel [Schlüssel ...], Differenzoperation und Speicherung des Ziels in der neuen Sammlung SINTERSTROE Zielschlüssel [Schlüssel .. .], Kreuzungsbetrieb und in der neuen Zielsammlung SUNIONSTROE Zielschlüssel [Schlüssel .. .] gespeichert und in der neuen Zielsammlung betrieben und gespeichert<🎜> | ||||||||||||||||||||||||
Elemente zufällig abrufen: SRANDMEMGER | <🎜>SRANDMEMBER-Schlüssel [Anzahl], je nach Anzahl gibt es unterschiedliche Ergebnisse. Wenn die Anzahl größer als die Gesamtzahl der Elemente ist, wird die Anzahl aller Elemente>0 zurückgegeben und die Anzahl der nicht doppelten Elemente zurückgegeben in der Menge, count<0, gibt den absoluten Wert der count-Elemente in der Menge zurück, aber Elemente können wiederholt werden | ||||||||||||||||||||||||
Popup-Element: SPOP | SPOP-Taste [count], da die Sammlung ungeordnet ist, öffnet spop zufällig ein Element |
Fünftens: Geordneter Satztyp zset (sortierter Satz: geordneter Satz)
Redis zset ist wie set auch eine Sammlung von Elementen vom Typ String, und doppelte Mitglieder sind nicht zulässig.
Der Unterschied besteht darin, dass jedem Element eine doppelte Typbewertung zugeordnet ist.
Redis verwendet Scores, um die Mitglieder der Menge von klein nach groß zu sortieren. Die Mitglieder von zset sind einzigartig, aber die Ergebnisse können wiederholt werden.
Das obige ist der detaillierte Inhalt vonEinführung in grundlegende Befehle von 5 Datentypen in Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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

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 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.

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.

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

Um alle Schlüssel in Redis anzuzeigen, gibt es drei Möglichkeiten: Verwenden Sie den Befehl keys, um alle Schlüssel zurückzugeben, die dem angegebenen Muster übereinstimmen. Verwenden Sie den Befehl scan, um über die Schlüssel zu iterieren und eine Reihe von Schlüssel zurückzugeben. Verwenden Sie den Befehl Info, um die Gesamtzahl der Schlüssel zu erhalten.

Redis verwendet Hash -Tabellen, um Daten zu speichern und unterstützt Datenstrukturen wie Zeichenfolgen, Listen, Hash -Tabellen, Sammlungen und geordnete Sammlungen. Ernähren sich weiterhin über Daten über Snapshots (RDB) und appendiert Mechanismen nur Schreibmechanismen. Redis verwendet die Master-Slave-Replikation, um die Datenverfügbarkeit zu verbessern. Redis verwendet eine Ereignisschleife mit einer Thread, um Verbindungen und Befehle zu verarbeiten, um die Datenatomizität und Konsistenz zu gewährleisten. Redis legt die Ablaufzeit für den Schlüssel fest und verwendet den faulen Löschmechanismus, um den Ablaufschlüssel zu löschen.

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.
