Heim  >  Artikel  >  Datenbank  >  Einführung in grundlegende Befehle von 5 Datentypen in Redis

Einführung in grundlegende Befehle von 5 Datentypen in Redis

尚
nach vorne
2020-03-11 09:12:572426Durchsuche

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.

tr>
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“
函数 语法
最基本的命令:GET、SET GET key,SET key value   value如果有空格需要双引号以示区分
整数递增:INCR INCR key    默认值为0,所以首先执行命令得到 1 ,不是整型提示错误
增加指定的整数:INCRBY INCRBY key increment
整数递减:DECR DECR key   默认值为0,所以首先执行命令得到 -1,不是整型提示错误
减少指定的整数:DECRBY DECRBY key increment
增加指定浮点数:INCRBYFLOAT INCRBYFLOAT key increment  与INCR命令类似,只不过可以递增一个双精度浮点数
向尾部追加值:APPEND APPEND key value   redis客户端并不是输出追加后的字符串,而是输出字符串总长度
获取字符串长度:STRLEN STRLEN key  如果键不存在返回0,注意如果有中文时,一个中文长度是3,redis是使用UTF-8编码中文的
获取多个键值:MGET MGET key [key ...]  例如:MGET key1 key2
设置多个键值:MSET MSET key value [key value ...]  例如:MSET key1 1 key2 "hello redis"
二进制指定位置值:GETBIT

GETBIT key offset   例如:GETBIT key1 2 ,key1为hello 返回 1,返回的值只有0或1,当key不存在或超出实际长度时为0

设置二进制位置值:SETBIT SETBIT key offset value ,返回该位置的旧值
二进制是1的个数:BITCOUNT BITCOUNT key [start end] ,start 、end为开始和结束字节
位运算:BITOP BITOP operation destkey key [key ...]  ,operation支持AND、OR、XOR、NOT
偏移:BITPOS BITPOS key bit [start] [end]
GETBIT-Schlüsseloffset Zum Beispiel: GETBIT key1 2, key1 ist hallo und gibt 1 zurück. Der zurückgegebene Wert ist nur 0 oder 1. Wenn der Schlüssel nicht existiert oder die tatsächliche Länge überschreitet, ist er 0
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

Funktion< /tr>< tr>
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
函数 语法
添加左边元素:LPUSH LPUSH key value [value ...]  ,返回添加后的列表元素的总个数
添加右边元素:RPUSH RPUSH key value [value ...]  ,返回添加后的列表元素的总个数
移除左边第一个元素:LPOP LPOP key  ,返回被移除的元素值
移除右边第一个元素:RPOP RPOP key ,返回被移除的元素值
列表元素个数:LLEN LLEN key, 不存在时返回0,redis是直接读取现成的值,并不是统计个数
获取列表片段:LRANGE

LRANGE key start stop,如果start比stop靠后时返回空列表,0 -1 返回整个列表正数时:start 开始索引值,stop结束索引值(索引从0开始)负数时:例如 lrange num -2 -1,-2表示最右边第二个,-1表示最右边第一个,

删除指定值:LREM

LREM key count value,返回被删除的个数

count>0,从左边开始删除前count个值为value的元素

count<0,从右边开始删除前|count|个值为value的元素

count=0,删除所有值为value的元素

索引元素值:LINDEXLINDEX key index ,返回索引的元素值,-1表示从最右边的第一位
设置元素值:LSETLSET key index value
保留列表片段:LTRIMLTRIM key start stop,start、top 参考lrange命令
一个列表转移另一个列表:RPOPLPUSH

RPOPLPUSH source desctination ,从source列表转移到desctination列表,该命令分两步看,首先source列表RPOP右移除,再desctination列表LPUSH

LRANGE-Taste start stop, wenn start später als stop liegt, wird eine leere Liste zurückgegeben, 0 -1 gibt die gesamte Liste als positive Zahl zurück: start startet den Indexwert, stop endet der Index Wenn der Wert (Index beginnt bei 0) negativ ist: zum Beispiel bedeutet lrange num -2 -1, -2 den zweiten von rechts, -1 bedeutet den ersten von rechts, <🎜>
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: LINDEXLINDEX-Schlüsselindex, gibt den Elementwert des Index zurück, -1 bedeutet, beginnend mit der ersten Position ganz rechts
Elementwert festlegen: LSETLSET-Schlüsselindexwert
Reserviertes Listenfragment: LTRIMLTRIM-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<🎜>

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.

< tr>< td style="border-color: rgb(221, 221, 221);" width="642">SCARD-Schlüssel, gibt die Anzahl der Sammlungselemente zurück< /td>
functionSyntax
Element hinzufügen: SADD
函数语法
添加元素:SADD

SADD key member [member ...] ,向一个集合添加一个或多个元素,因为集合的唯一性,所以添加相同值时会被忽略。返回成功添加元素的数量。

删除元素:SREMSREM key member [member ...] 删除集合中一个或多个元素,返回成功删除的个数。
获取全部元素:SMEMBERSSMEMBERS key ,返回集合全部元素
值是否存在:SISMEMBER
SISMEMBER key member ,如果存在返回1,不存在返回0
差运算:SDIFF SDIFF key [key ...] ,例如:集合A和集合B,差集表示A-B,在A里有的元素B里没有,返回差集合;多个集合(A-B)-C
交运算:SINTERSINTER key [key ...],返回交集集合,每个集合都有的元素
并运算:SUNION SUNION key [key ...],返回并集集合,所有集合的元素
集合元素个数:SCARDSCARD key ,返回集合元素个数
集合运算后存储结果

SDIFFSTROE destination key [key ...] ,差运算并存储到destination新集合中SINTERSTROE destination key [key ...],交运算并存储到destination新集合中SUNIONSTROE destination key [key ...],并运算并存储到destination新集合中

随机获取元素:SRANDMEMGER

SRANDMEMBER key [count],根据count不同有不同结果,count大于元素总数时返回全部元素count>0 ,返回集合中count不重复的元素count<0,返回集合中count的绝对值个元素,但元素可能会重复

弹出元素:SPOPSPOP key [count] ,因为集合是无序的,所以spop会随机弹出一个元素
SADD-Schlüsselmitglied [Mitglied ...], fügen Sie einer Sammlung ein oder mehrere Elemente hinzu Aufgrund der Einzigartigkeit der Sammlung wird sie beim Hinzufügen desselben Werts ignoriert. Gibt die Anzahl der erfolgreich hinzugefügten Elemente zurück. <🎜>
Element löschen: SREMSREM-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: SMEMBERSSMEMBERS-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: SINTERSINTER-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
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.

Score-Bereichselement angeben: ZRANGEBYSCORE
function Syntax
Sammlungselemente hinzufügen: ZADD ZADD-Schlüssel [NX|XX] [CH] [INCR] Score-Mitglied [Score-Mitglied .. .], es gibt keinen Zusatz, es gibt ein Update.
Elementbewertung abrufen: ZSCORE ZSCORE-Schlüsselmitglied, gibt die Punktzahl des Elementmitglieds zurück
Elemente von klein nach groß: ZRANGE
函数 语法
添加集合元素:ZADD ZADD key [NX|XX] [CH] [INCR] score member [score member ...],不存在添加,存在更新。
获取元素分数:ZSCORE ZSCORE key member ,返回元素成员的score 分数
元素小到大:ZRANGE

ZRANGE key start top [WITHSCORES] ,参考LRANGE ,加上withscores 返回带元素,即元素,分数当分数一样时,按元素排序

元素大到小:ZREVRANGE ZREVRANGE key start [WITHSCORES] ,与zrange区别在于zrevrange是从大到小排序
指定分数范围元素:ZRANGEBYSCORE

ZRANGEBYSCORE key min max [WITHSCORE] [LIMIT offest count]返回从小到大的在min和max之间的元素,( 符号表示不包含,例如:80-100,(80 100,withscore返回带分数limit offest count 向左偏移offest个元素,并获取前count个元素

指定分数范围元素:ZREVRANGESCORE

ZREVRANGEBYSCORE key max  min [WITHSCORE] [LIMIT offest count]与zrangebyscore类似,只不过该命令是从大到小排序的。

增加分数:ZINCRBY ZINCRBY key increment member ,注意是增加分数,返回增加后的分数;如果成员不存在,则添加一个为0的成员。
ZRANGE-Taste beginnt oben [WITHSCORES], siehe LRANGE, plus withscores, um Bandelemente zurückzugeben, d. h. Elemente, Punkte, wenn die Bewertungen gleich sind, nach Elementen sortieren
Elemente von groß nach klein: ZREVRANGE ZREVRANGE key start [WITHSCORES], der Unterschied zu zrange besteht darin, dass zrevrange von groß nach klein sortiert wird

ZRANGEBYSCORE key min max [WITHSCORE] [LIMIT offest count] gibt die Elemente zwischen min und max von klein nach groß zurück, ( Symbol bedeutet nicht enthalten, zum Beispiel: 80-100, ( 80 100, withscore gibt die Offest-Zählung für gemischte Brüche zurück, um Offest-Elemente nach links zu versetzen und die ersten Count-Elemente zu erhalten

Score-Bereichselement angeben: ZREVRANGESCORE

ZREVRANGEBYSCORE key max min [WITHSCORE] [LIMIT offest count] ähnelt zrangebyscore, außer dass dieser Befehl von groß nach klein sortiert.

Score erhöhen: ZINCRBY ZINCRBY Schlüsselerhöhungsmitglied, beachten Sie, dass die Punktzahl erhöht wird und die erhöhte Punktzahl zurückgegeben wird, wenn das Mitglied nicht existiert; 0 wird hinzugefügt.
Verwandte Empfehlungen: MySQL-Video-Tutorial: https://www.php.cn/course/ list/51.html

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!

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