Maison >base de données >Redis >La collection ordonnée Redis utilise l'induction de points de connaissance
Cet article vous apporte des connaissances pertinentes sur Redis, qui organise principalement les problèmes liés aux ensembles ordonnés, chaque élément est constitué d'un membre et d'un score associé au membre, les membres sont stockés sous forme de chaînes et les scores. sont stockés sous forme de nombres à virgule flottante double précision 64 bits. Examinons-les ensemble, j'espère que cela sera utile à tout le monde.
Apprentissage recommandé : Tutoriel vidéo Redis
ensemble ordonné. Chaque élément se compose d'un membre et d'un score associé au membre. Le membre est stocké sous forme de chaîne et le score est stocké sous forme de nombre à virgule flottante double précision de 64 bits. Les membres ne peuvent pas être répétés et sont triés par score. S'ils ont le même score, ils sont triés dans l'ordre du dictionnaire. Structure des données
membre de partition clé zadd [membre de partition ...]
La fonction de l'option XX est uniquement de mettre à jour mais pas d'ajouter, et de renvoyer 0 après l'exécution. zadd key XX score member [score member ...]
membre de score zadd key NX [membre de score ...]
La fonction de l'option CH est de renvoyer le nombre de membres modifiés plutôt que le nombre de membres ajoutés avec succès. Les membres modifiés incluent les membres nouvellement ajoutés. zadd key CH score member [score member ...]
membre clé zrem [membre ...]
Supprimez les membres dans la plage de classement spécifiée et renvoyez le nombre de membres supprimés. Le classement peut utiliser un classement positif ou négatif. zremrangebyrank key start stop
3. Commande zremrangebyscore Format : clé zremrangebyscore min maxzadd key score member [score member ...]
XX选项的作用是只更新不添加,执行后返回0。zadd key XX score member [score member ...]
NX选项的作用是只添加不更新,执行成功返回添加元素的个数。zadd key NX score member [score member ...]
CH选项的作用是返回被修改成员的数量而非添加成功的成员数量,被修改包括新添加。zadd key CH score member [score member ...]
移除指定成员
1.zrem命令 格式:zrem key member [member …]
返回被移除成员的数量,成员不存在于集合中时自动忽略。zrem key member [member ...]
2.zremrangebyrank命令 格式:zremrangebyrank key start stop
移除指定排名范围内的成员,返回被移除成员的数量,排名可使用正数排名或负数排名。zremrangebyrank key start stop
3.zremrangebyscore命令 格式:zremrangebyscore key min max
移除指定分值范围内的成员,返回被移除成员的数量。min或max前加“(”表示取开区间即不包含边界值。zremrangebyscore key min max
4.zremrangebylex命令 格式:zremrangebylex key min max
对于按照字典序排列的有序集合(即分值相同),移除指定字典序范围内的成员。返回被移除成员的数量,min、max的可取值包括:带“[”的值表示包含字典序边界,带“(”表示不包含字典序边界,“+”表示无穷大,“-”表示无穷小。zremrangebylex key min max
Supprimez les membres dans la plage de scores spécifiée et renvoyez le nombre de membres supprimés. Ajoutez "(" avant min ou max pour indiquer que l'intervalle ouvert n'inclut pas de valeurs limites. zremrangebyscore key min max
zremrangebylex key min max
🎜🎜🎜.Éléments contextuels
1. Commande zpopmax Format : clé zpopmax [compte]
Affichez le nombre de membres avec les scores les plus élevés. Lorsqu'il y a plusieurs éléments avec les scores les plus élevés, affichez le membre avec le plus grand ordre lexicographique. count n'est pas spécifié, la valeur par défaut est 1. Une fois l'exécution terminée, les membres et les scores de l'élément sauté sont renvoyés. clé zpopmax [count]
zpopmax key [count]
2.zpopmin命令 格式:zpopmin key [count]
弹出分值最低的count个成员,分值最低有多个元素时弹出字典序最小的成员,若未指定count默认1个,执行完成后返回被弹出元素的成员和分值。zpopmin key [count]
3.bzpopmax命令 格式:bzpopmax key [key …] timeout
阻塞式的zpopmax命令,timeout为秒级精度。命令依次检查给定的有序集合,并从第一个非空集合弹出分值最大的元素,否则阻塞当前客户端直到有元素或超出超时时间返回nil。成功弹出元素时将返回一个列表,包含被弹出元素所在有序集合、成员以及分值。bzpopmax key [key ...] timeout
4.bzpopmin命令 格式:bzpopmin key [key …] timeout
阻塞式的zpopmin命令,timeout为秒级精度。命令依次检查给定的有序集合,并从第一个非空集合弹出分值最小元素,否则阻塞当前客户端直到有元素或超出超时时间返回nil。成功弹出元素时将返回一个列表,包含被弹出元素所在有序集合、成员以及分值。bzpopmin key [key ...] timeout
客户端2:
获取成员分值
1.zscore命令 格式:zscore key member
获取给定成员的分值,集合不存在或者成员不存在时返回nil。zscore key member
对成员分值做运算
1.zincrby命令 格式:zincrby key increment member
执行完后返回当前成员分值,increment为正时自增,否则为自减;若键不存在或成员不存在则执行创建操作。zincrby key increment member
获取成员数量
1.zcard命令 格式:zcard key
返回集合包含的成员数量,集合不存在时返回0。zcard key
2.zcount命令 格式:zcount key min max
获取指定分值范围内的成员数量,min或max前加“(”表示取开区间即不包含边界值,值+inf表示无穷大,-inf表示无穷小。zcount key min max
3.zlexcount命令 格式:zlexcount key min max
对于按照字典序排列的有序集合(即分值相同),获取指定字典序范围内的成员数量,min、max的可取值包括:带“[”的值表示包含字典序边界,带“(”表示不包含字典序边界,“+”表示无穷大,“-”表示无穷小。zlexcount key min max
获取成员排名
1.zrank命令 格式:zrank key member
返回成员的升序排列排名,集合或成员不存在时返回nil。zrank key member
2.zrevrank命令 格式:zrevrank key member
返回成员的降序排列排名,集合或成员不存在时返回nil。zrevrank key member
2. Commande zpopmin Format : touche zpopmin [count] Affiche le nombre de membres avec le score le plus bas. Lorsqu'il y a plusieurs éléments avec le score le plus bas, le membre avec le plus petit ordre lexicographique est affiché. Si count n'est pas spécifié, la valeur par défaut est 1. , renvoie les membres et les scores de l'élément sauté après l'exécution.
zpopmin key [count]
🎜 3.commande bzpopmax Format : bzpopmax key [key…] timeout🎜 Blocage de la commande zpopmax, le timeout est une précision de deuxième niveau. La commande vérifie tour à tour l'ensemble ordonné donné et extrait l'élément avec le score le plus élevé du premier ensemble non vide. Sinon, le client actuel est bloqué jusqu'à ce qu'il y ait un élément ou que zéro soit renvoyé une fois le délai d'attente dépassé. Lorsqu'un élément est extrait avec succès, une liste est renvoyée, comprenant l'ensemble ordonné, les membres et les scores de l'élément extrait. 🎜délai d'expiration de la touche bzpopmax [clé ...]
🎜🎜 4. Commande bzpopmin Format : clé bzpopmin [clé …] timeout🎜 Blocage de la commande zpopmin, le délai d'attente est une précision de deuxième niveau. La commande vérifie tour à tour l'ensemble ordonné donné et affiche l'élément avec le score le plus petit du premier ensemble non vide. Sinon, le client actuel est bloqué jusqu'à ce qu'il y ait un élément ou que zéro soit renvoyé une fois le délai d'attente dépassé. Lorsqu'un élément est extrait avec succès, une liste est renvoyée, comprenant l'ensemble ordonné, les membres et les scores de l'élément extrait. 🎜délai d'expiration de la touche bzpopmin [clé ...]
🎜🎜 Client 2 : 🎜🎜🎜🎜🎜Obtenir le score du membre🎜 1. Commande zscore Format : zscore key member🎜 Obtenez le score d'un membre donné. Renvoie zéro lorsque la collection n'existe pas ou que le membre n'existe pas. 🎜membre clé zscore
🎜🎜🎜🎜🎜 Effectuer des opérations sur les scores des membres🎜 1. Commande zincrby Format : membre d'incrémentation de la clé zincrby🎜 Après l'exécution, le score actuel du membre est renvoyé. Lorsque l'incrément est positif, il augmentera automatiquement, sinon il diminuera ; si la clé n'est pas Exécuter l'opération de création si le membre existe ou n'existe pas. 🎜membre d'incrément de clé zincrby
🎜🎜🎜🎜🎜Obtenir le nombre de membres🎜 1. Commande zcard Format : clé zcard🎜 Renvoie le nombre de membres contenus dans la collection, et renvoie 0 si la collection n'existe pas. 🎜clé zcard
🎜🎜 2.zcount command Format : zcount key min max🎜 Obtenez le nombre de membres dans la plage de scores spécifiée. Ajoutez "(" avant min ou max pour indiquer un intervalle ouvert qui n'inclut pas de valeurs limites. La valeur +inf indique. infini, - inf signifie infinitésimal. " alt= "Insérer la description de l'image ici"/>🎜 3. Commande zlexcount Format : clé zlexcount min max🎜 Pour un ensemble ordonné disposé par ordre lexicographique (c'est-à-dire avec le même score), obtenez le nombre de membres dans le lexicographique spécifié range, min, max Les valeurs possibles incluent : la valeur avec "[" signifie qu'elle contient des limites lexicographiques, la valeur avec "(" signifie qu'elle ne contient pas de limites lexicographiques, "+" signifie l'infini , et "-" signifie infinitésimal. png" alt="Insérer la description de l'image ici "/>🎜🎜🎜🎜Obtenir le classement des membres🎜 1. Commande zrank Format : membre clé zrank🎜 Renvoie le classement ascendant des membres, ou renvoie zéro lorsque l'ensemble ou le membre n'existe pas. 🎜 membre clé zrank
🎜🎜 2.commande zrevrank Format : membre clé zrevrank🎜 Renvoie le classement décroissant du membre, renvoie nul lorsque la collection ou le membre n'existe pas 🎜membre clé zrevrank
🎜🎜🎜.Obtenir des membres
1. Commande zrange Format : clé zrange min max [BYSCORE|BYLEX] [REV] [LIMIT offset count] [WITHSCORES]
Obtenez les membres dans la plage d'index spécifiée, triés par ordre croissant par score. L'option WITHSCORES peut renvoyer le score après l'exécution de la commande. Les chiffres impairs de la liste renvoyée sont des membres et les chiffres pairs sont les scores correspondants. Renvoie vide si la collection n'existe pas. clé zrange min max [WITHSCORES]
zrange key min max [WITHSCORES]
2.zrevrange命令 格式:zrevrange key start stop [WITHSCORES]
获取指定索引范围内的成员,按分值大小降序排列。WITHSCORES选项可在命令执行后返回分值,返回列表奇数位为成员,偶数位为对应分值。集合不存在时返回empty。zrevrange key start stop [WITHSCORES]
3.zrangebyscore命令 格式:zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
获取指定分值范围内的成员,按分值大小升序排列。WITHSCORES选项可在命令执行后返回分值,返回列表奇数位为成员,偶数位为对应分值。集合不存在时返回empty。zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
[LIMIT offset count]选项的作用是限制返回的成员数量,offset指定需要跳过的成员数量,count执行最多返回成员的数量,count为负时取绝对值。
min或max前加“(”表示取开区间即不包含边界值,值+inf表示无穷大,-inf表示无穷小。
4.zrevrangebyscore命令 格式:zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]
获取指定分值范围内的成员,按分值大小降序排列,注意max min顺序。zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]
5.zrangebylex命令 格式:zrangebylex key min max [LIMIT offset count]
当成员分值相同时,获取指定字典序范围内成员,按字典序升序排列,min、max的可取值包括:带“[”的值表示包含字典序边界,带“(”表示不包含字典序边界,“+”表示无穷大,“-”表示无穷小。zrangebylex key min max [LIMIT offset count]
6.zrevrangebylex命令 格式:zrevrangebylex key max min [LIMIT offset count]
当成员分值相同时,获取指定字典序范围内成员,按字典序降序排列,max、min的可取值包括:带“[”的值表示包含字典序边界,带“(”表示不包含字典序边界,“+”表示无穷大,“-”表示无穷小。zrevrangebylex key max min [LIMIT offset count]
zrevrange key start stop [WITHSCORES]
🎜🎜 3. Commande zrangebyscore Format : clé zrangebyscore min max [WITHSCORES] [LIMIT offset count]🎜 Obtenez les membres dans la plage de scores spécifiée, triés par ordre croissant par taille de score. L'option WITHSCORES peut renvoyer le score après l'exécution de la commande. Les chiffres impairs de la liste renvoyée sont des membres et les chiffres pairs sont les scores correspondants. Renvoie vide si la collection n'existe pas. 🎜zrangebyscore clé min max [WITHSCORES] [LIMIT offset count]
🎜🎜 L'option [LIMIT offset count] permet de limiter le nombre de membres renvoyés. offset spécifie le nombre de membres à ignorer. Count exécute le nombre maximum de membres renvoyés. Lorsque count est négatif Prendre la valeur absolue. 🎜🎜 Ajoutez " avant min ou max ( " signifie prendre un intervalle ouvert qui n'inclut pas de valeurs limites, la valeur +inf signifie l'infini, -inf signifie infinitésimal. 🎜🎜 4. Commande zrevrangebyscore Format : zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]🎜 Obtenez les membres dans la plage de scores spécifiée, par ordre décroissant par score taille Organisez, faites attention à la commande max min 🎜zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]
🎜🎜 5.zrangebylex format de commande : zrangebylex key min max [LIMIT offset count]🎜Lorsque les scores des membres sont les mêmes strong> , obtenez les membres dans la plage lexicographique spécifiée, triez-les par ordre lexicographique croissant, les valeurs disponibles pour min et max incluent : les valeurs avec "[" indiquent qu'elles incluent des limites lexicographiques, et "(" indique qu'ils n'incluent pas la limite lexicographique, "+" signifie infini, "-" signifie infinitésimal. 🎜zrangebylex key min max [LIMIT offset count]
🎜🎜 6.zrevrangebylex, commande Format : zrevrangebylex key max min [LIMIT offset count] 🎜Lorsque le membre obtient le même score, récupérez les membres dans la plage lexicographique spécifiée et triez-les par ordre lexicographique décroissant. Les valeurs possibles de max et min incluent : Les valeurs avec "[" indiquent qu'elles incluent des limites lexicographiques, et les valeurs avec "(" signifie qu'elles ne contiennent pas de limites lexicographiques, "+" signifie l'infini et "-" signifie infinitésimal. 🎜zrevrangebylex key max min [LIMIT offset count]
🎜
Opération d'ensemble
1. Union
1)commande zunionstore Format : clé numérique de destination zunionstore [clé …] [poids des POIDS] [SOMME AGRÉGÉE | MIN | MAX]
numkeys est le nombre d'ensembles participant à l'opération, et sera être renvoyé s'il ne correspond pas à l'erreur, renvoie le nombre de membres de la nouvelle collection après exécution. Le résultat de l'union est un ensemble de membres. S'il y a les mêmes membres dans les ensembles participant à l'opération, le score de membre par défaut du nouvel ensemble est la somme des scores des membres de l'ensemble d'origine. clé numérique de destination zunionstore [clé ...]
zunionstore destination numkeys key [key ...]
AGGREGATE选项作用是指定使用的聚合函数,不指定时默认SUM。SUM指分值相加,MIN指取最小分值,MAX指取最大分值。zunionstore destination numkeys key [key ...] [AGGREGATE SUM|MIN|MAX]
WEIGHTS 选项作用是执行聚合前为每个集合分别设置一个权重,权重分别与集合中成员分值相乘得到新分值,然后执行聚合计算。
2)zunion命令 格式:zunion numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
执行完成后返回新集合成员。zunion numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
2.交集
1)zinterstore命令 格式:zinterstore destination numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
执行完后返回新集合的成员数量。zinterstore destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
2)zinter命令 格式:zinter numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
执行完后返回新集合成员。zinter numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
L'option AGGREGATE est utilisée pour spécifier la fonction d'agrégation à utiliser. Si elle n'est pas spécifiée, elle est par défaut SUM. SUM fait référence à l'addition des scores, MIN fait référence à l'obtention du score minimum et MAX fait référence à l'obtention du score maximum. clé numérique de destination zunionstore [clé ...] [AGGREGATE SUM|MIN|MAX]
L'option POIDS consiste à définir un poids pour chaque collection avant d'effectuer l'agrégation. Le poids est multiplié par le score des membres dans la collection pour obtenir un nouveau score. , puis effectuez des calculs d'agrégation.
touche numérique zunion [clé ...] [poids POIDS] [SOMME AGRÉGÉE|MIN|MAX] [AVEC CORES]
2. Intersection
1) commande zinterstore Format : touche numérique de destination zinterstore [clé … ] [POIDS poids] [AGGREGATE SUM|MIN|MAX]
touche numérique de destination zinterstore [clé ...] [poids des POIDS] [SOMME AGRÉGÉE|MIN|MAX]
Renvoie le nouveau membre de la collection après l'exécution. touche numérique zinter [touche ...] [POIDS poids] [SOMME AGRÉGÉE|MIN|MAX] [AVECCORES]
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!