Maison  >  Article  >  base de données  >  Introduction aux commandes de base de 5 types de données dans Redis

Introduction aux commandes de base de 5 types de données dans Redis

尚
avant
2020-03-11 09:12:572411parcourir

Introduction aux commandes de base de 5 types de données dans Redis

Redis est une base de données de paires clé-valeur. Il existe 5 types de données principaux :

Type de chaîne (string), type de hachage (hash), type de liste (). list), type d'ensemble (set), type d'ensemble ordonné (zset)

Recommandé : tutoriel redis

Quelques commandes de base :

函数 说明
keys * 获得当前数据库的所有键

exists key [key ...] 判断键是否存在,返回个数,如果key有一样的也是叠加数
del key [key ...] 删除键,返回删除的个数

type key 获取减值的数据类型(string,hash,list,set,zset)
flushall 清空所有数据库
config [get、set] redis配置

-inf infini négatif

+inf infini positif

1 : Type de chaîne (string)

Le type de chaîne est le type le plus basique de Redis, qui peut stocker Toute forme de chaîne. Les quatre autres types sont tous des formes différentes du type chaîne.

tr>
fonction Syntaxe
La commande la plus basique : GET, SET Touche GET, valeur de la clé SET S'il y a des espaces, des guillemets doubles sont nécessaires pour distinguer la valeur
Clé INCR La valeur par défaut est 0, donc exécutez d'abord la commande pour obtenir 1, qui n'est pas un entier et provoque une erreur
Augmente l'entier spécifié : INCRBY Incrément de clé INCRBY
Décrément entier : DECR Touche DECR La valeur par défaut est 0, donc d'abord exécutez la commande pour obtenir -1, ce qui n'est pas une erreur entière
Diminuer l'entier spécifié : DECRBY Incrément de clé DECRBY
Augmente le nombre à virgule flottante spécifié : INCRBYFLOAT Incrément de clé INCRBYFLOAT et INCR La commande est similaire, sauf qu'elle peut incrémenter un nombre à virgule flottante double précision
vers la queue Ajouter la valeur : APPEND Valeur de la clé APPEND Le client Redis ne génère pas la chaîne ajoutée, mais affiche la longueur totale de la chaîne
Obtenir la longueur de la chaîne : STRLEN Touche STRLEN Si la clé n'existe pas, renvoyez 0. Notez que s'il y a du chinois, la longueur d'un caractère chinois est de 3 et redis est utilisé en chinois codé en UTF-8
Obtenir plusieurs valeurs clés : MGET Clé MGET [clé ...] Par exemple : MGET clé1 clé2
Définir plusieurs valeurs de clé : MSET Valeur de clé MSET [valeur de clé... ] Par exemple : 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]
Décalage de la clé GETBIT Par exemple : GETBIT key1 2, key1 est bonjour et renvoie 1. La valeur renvoyée est uniquement 0 ou 1. Lorsque la clé n'existe pas ou dépasse la longueur réelle, elle est 0
Définir la valeur de position binaire : SETBIT Valeur de décalage de la clé SETBIT, renvoie l'ancienne valeur à cette position
clé BITCOUNT [start end], start et end sont le début et octets de fin
Opération sur les bits : BITOP Clé destkey de l'opération BITOP [clé ...], l'opération prend en charge AND et OR, style="border-color: rgb(221, 221) , 221);" width="627">Bit de clé BITPOS [début] [fin]

2 : Type de hachage (hachage)

函数 语法
设置单个: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 ,返回字段总数

Trois : Type de liste (liste)

Implémenté en interne à l'aide d'une liste doublement chaînée, de sorte que les éléments les plus proches des deux extrémités sont obtenus plus rapidement, mais l'accès via les index sera plus lent

Obtenir le fragment de liste : LRANGE< td style=" border-color: rgb(221, 221, 221);" width="129">Transférer une liste à une autre : RPOPLPUSH
Fonction Syntaxe
Ajouter un élément de gauche : LPUSH Valeur de la clé LPUSH [valeur ...], renvoie le nombre total d'éléments de liste ajoutés
Ajoutez le bon élément : RPUSH Valeur de clé RPUSH [valeur ...] , renvoie le nombre total d'éléments de liste ajoutés
Supprimez le premier élément à gauche : LPOP Clé LPOP, renvoie la valeur de l'élément supprimé
Supprimer le premier élément à droite : RPOP Clé RPOP, renvoie la valeur de l'élément supprimé
Nombre d'éléments de la liste : LLEN clé LLEN, renvoie 0 lorsqu'elle n'existe pas. Redis lit directement la valeur existante, sans compter le nombre
函数 语法
添加左边元素: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

Touche LRANGE start stop, si start est postérieur à stop, une liste vide est renvoyée, 0 -1 renvoie la liste entière sous forme de nombre positif : start démarre la valeur d'index, stop termine la index Lorsque la valeur (l'index commence à 0) est négative : par exemple, lrange num -2 -1, -2 signifie le deuxième en partant de la droite, -1 signifie le premier en partant de la droite, <🎜>
Supprimer la valeur spécifiée : LREM<🎜>Valeur du nombre de clés LREM, renvoie le nombre d'éléments supprimés<🎜><🎜>count>0, supprime le premier nombre d'éléments avec une valeur commençant à gauchecount<0, supprimez les premiers |count| éléments avec une valeur commençant à droite <🎜><🎜>count=0, supprimez tous les éléments avec une valeur <🎜>
Valeur de l'élément d'index : LINDEXIndex de clé LINDEX, renvoie la valeur de l'élément de l'index, -1 signifie commencer à partir de la première position la plus à droite
Définir la valeur de l'élément : LSETValeur de l'index de clé LSET
Touche LTRIM start stop, start, top se référer à la commande lrange
<🎜>RPOPLPUSH source desctination, transfert de la liste source vers la liste de destination. Cette commande est divisée en deux étapes. Tout d'abord, la liste source RPOP est supprimée à droite, puis la liste des destinations LPUSH<🎜>

Quatre : Type d'ensemble (ensemble)

Les valeurs de type ensemble sont uniques. Les opérations courantes consistent à ajouter, supprimer et déterminer si une valeur existe dans l'ensemble. une table de hachage avec des valeurs vides.

< td style="border-color: rgb(221, 221, 221);" width="642">Touche SCARD, renvoie le nombre d'éléments de la collection< /td>
fonctionSyntaxe
Ajouter un élément : 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会随机弹出一个元素
Membre clé SADD [membre ...], ajoutez un ou plusieurs éléments à une collection , en raison du caractère unique de la collection, sera ignoré lors de l'ajout de la même valeur. Renvoie le nombre d'éléments ajoutés avec succès. <🎜>
Membre clé SREM [membre ...] Supprime un ou plusieurs éléments de la collection et renvoie le nombre d'éléments supprimés avec succès.
Obtenir tous les éléments : SMEMBERSClé SMEMBERS, renvoie tous les éléments de la collection
Si la valeur existe : SISMEMBER
Membre clé SISMEMBER, s'il existe, il renvoie 1, s'il n'existe pas, il renvoie 0
Opération de différence : SDIFF Touche SDIFF [touche .. .], par exemple : ensemble A et ensemble B, L'ensemble de différences représente A-B. Les éléments de A ne sont pas dans B et l'ensemble de différences est renvoyé ; tr>Opération d'intersection : SINTERTouche SINTER [clé ...], renvoie l'ensemble d'intersections, les éléments de chaque ensemble
Opération Union : SUNION Touche SUNION [clé ...], renvoie l'ensemble d'unions, tous les éléments de la collection
Nombre d'éléments dans la collection : SCARD
Stockage du résultat après l'opération de définition<🎜>Clé de destination SDIFFSTROE [clé ...], opération de différence et stockée dans la nouvelle collection de clé de destination SINTERSTROE de destination [clé .. .], opération d'intersection et stocké dans la nouvelle collection de clé de destination SUNIONSTROE [clé .. .], et l'exploiter et le stocker dans la nouvelle collection de destination<🎜>
Obtenir aléatoirement des éléments : SRANDMEMGER<🎜>SRANDMEMBER key [count], il y a des résultats différents en fonction du nombre, lorsque le nombre est supérieur au nombre total d'éléments, renvoie le nombre de tous les éléments>0, renvoie le nombre d'éléments non en double dans l'ensemble, count<0, renvoie la valeur absolue du nombre d'éléments dans l'ensemble, mais les éléments peuvent être répétés

Élément contextuel : SPOP Touche SPOP [count], parce que la collection n'est pas ordonnée, spop fera apparaître un élément au hasard

Cinq : type d'ensemble ordonné zset (ensemble trié : ensemble ordonné)

Redis zset, comme set, est également une collection d'éléments de type chaîne, et les membres en double ne sont pas autorisés.

La différence est que chaque élément est associé à une partition de type double.

Redis utilise des scores pour trier les membres de l'ensemble du plus petit au plus grand. Les membres de zset sont uniques, mais les scores peuvent être répétés.

. Spécifier l'élément de plage de score : ZRANGEBYSCORE
fonction Syntaxe
Ajouter des éléments de collection : ZADD Touche ZADD [NX|XX] [CH] [INCR] membre de la partition [membre de la partition .. .], il n’y a pas d’ajout, il y a une mise à jour.
Obtenir le score de l'élément : ZSCORE Membre clé ZSCORE, renvoie le score du membre de l'élément
Éléments de petit à grand : 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的成员。
Touche ZRANGE démarrer en haut [WITHSCORES], se référer à LRANGE, plus withscores pour renvoyer les éléments du groupe, c'est-à-dire les éléments, les partitions. Lorsque les scores sont les mêmes, trier par éléments
Éléments de grand à petit : ZREVRANGE Démarrage de la touche ZREVRANGE [WITHSCORES], la différence avec zrange est que zrevrange est trié du plus grand au plus petit

Clé ZRANGEBYSCORE min max [WITHSCORE] [LIMIT offest count] renvoie les éléments entre min et max de petit à grand, (le symbole signifie non inclus, par exemple : 80-100, ( 80 100, withscore renvoie le nombre de limites de fractions mixtes pour décaler les éléments de décalage vers la gauche et obtenir le premier nombre d'éléments

Spécifiez l'élément de plage de score : ZREVRANGESCORE

ZREVRANGEBYSCORE key max min [WITHSCORE] [LIMIT offest count] est similaire à zrangebyscore, sauf que cette commande trie du plus grand au plus petit.

Membre d'incrément de clé ZINCRBY, notez que le score est augmenté et le score augmenté est renvoyé si le membre n'existe pas, membre de ; 0 est ajouté.
Recommandations associées : Tutoriel vidéo MySQL : https://www.php.cn/course/ liste/51.html

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer