Maison >base de données >Redis >La collection ordonnée Redis utilise l'induction de points de connaissance

La collection ordonnée Redis utilise l'induction de points de connaissance

WBOY
WBOYavant
2022-07-01 12:25:262069parcourir

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.

La collection ordonnée Redis utilise l'induction de points de connaissance

Apprentissage recommandé : Tutoriel vidéo Redis

Structure de données Redis : ensemble ordonné

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

Ensemble commandé (ensemble trié)

  • Ajouter ou mettre à jour des membres
  • 1.commande zadd Format : clé zadd [NX|XX] [GT|LT] [CH] [INCR] score member [score member …]
  • Renvoie le nombre de nouveaux membres ajoutés avec succès, si l'exécution est pour mettre à jour le score du membre, 0 est renvoyé.
  • membre de partition clé zadd [membre de partition ...]
  • Insérer la description de l'image ici
  • 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 ...]
  • Insérer la description de l'image ici
  • La fonction de l'option NX est d'ajouter uniquement sans mise à jour. Si l'exécution réussit, le nombre d'éléments ajoutés sera renvoyé.
  • membre de score zadd key NX [membre de score ...]
  • Insérer la description de l'image ici
  • 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 ...]
  • Insérer la description de l'image ici

Supprimer le membre spécifié Commande 1.zrem Format : membre clé zrem [membre …] Renvoie le nombre de membres supprimés, le membre n'existe pas dans l'ensemble automatiquement ignoré.

membre clé zrem [membre ...]
    Insérer la description de l'image ici
  • 2. Commande zremrangebyrank Format : zremrangebyrank key start stop

    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
    Insérer ici l'image description
    3. Commande zremrangebyscore Format : clé zremrangebyscore min maxzadd key score member [score member ...]
    La collection ordonnée Redis utilise linduction de points de connaissance
    XX选项的作用是只更新不添加,执行后返回0。
    zadd key XX score member [score member ...]
    La collection ordonnée Redis utilise linduction de points de connaissance
    NX选项的作用是只添加不更新,执行成功返回添加元素的个数。
    zadd key NX score member [score member ...]
    La collection ordonnée Redis utilise linduction de points de connaissance
    CH选项的作用是返回被修改成员的数量而非添加成功的成员数量,被修改包括新添加。
    zadd key CH score member [score member ...]
    La collection ordonnée Redis utilise linduction de points de connaissance

  • 移除指定成员
    1.zrem命令  格式:zrem key member [member …]
    返回被移除成员的数量,成员不存在于集合中时自动忽略。
    zrem key member [member ...]
    La collection ordonnée Redis utilise linduction de points de connaissance
    2.zremrangebyrank命令  格式:zremrangebyrank key start stop
    移除指定排名范围内的成员,返回被移除成员的数量,排名可使用正数排名或负数排名。
    zremrangebyrank key start stop
    La collection ordonnée Redis utilise linduction de points de connaissance
    3.zremrangebyscore命令  格式:zremrangebyscore key min max
    移除指定分值范围内的成员,返回被移除成员的数量。min或max前加“(”表示取开区间即不包含边界值。
    zremrangebyscore key min max
    La collection ordonnée Redis utilise linduction de points de connaissance
    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 maxLa collection ordonnée Redis utilise linduction de points de connaissanceInsérer la description de l'image ici

    4. Commande zremrangebylex Format : clé zremrangebylex min max🎜 Pour les ensembles ordonnés disposés par ordre lexicographique (c'est-à-dire que les partitions sont le même) , supprimez les membres dans la plage lexicographique spécifiée. Renvoie le nombre de membres supprimés. Les valeurs possibles pour min et max incluent : les valeurs avec "[" indiquent qu'elles incluent des limites lexicographiques et "(" indique qu'elles le sont. n'inclut pas les dictionnaires. Limite de commande, "+" signifie infini, "-" signifie infinitésimal 🎜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]
    La collection ordonnée Redis utilise linduction de points de connaissance
    2.zpopmin命令  格式:zpopmin key [count]
    弹出分值最低的count个成员,分值最低有多个元素时弹出字典序最小的成员,若未指定count默认1个,执行完成后返回被弹出元素的成员和分值。
    zpopmin key [count]
    3.bzpopmax命令  格式:bzpopmax key [key …] timeout
    阻塞式的zpopmax命令,timeout为秒级精度。命令依次检查给定的有序集合,并从第一个非空集合弹出分值最大的元素,否则阻塞当前客户端直到有元素或超出超时时间返回nil。成功弹出元素时将返回一个列表,包含被弹出元素所在有序集合、成员以及分值。
    bzpopmax key [key ...] timeout
    La collection ordonnée Redis utilise linduction de points de connaissance
    4.bzpopmin命令  格式:bzpopmin key [key …] timeout
    阻塞式的zpopmin命令,timeout为秒级精度。命令依次检查给定的有序集合,并从第一个非空集合弹出分值最小元素,否则阻塞当前客户端直到有元素或超出超时时间返回nil。成功弹出元素时将返回一个列表,包含被弹出元素所在有序集合、成员以及分值。
    bzpopmin key [key ...] timeout
    La collection ordonnée Redis utilise linduction de points de connaissance
    客户端2:
    La collection ordonnée Redis utilise linduction de points de connaissance

  • 获取成员分值
    1.zscore命令  格式:zscore key member
    获取给定成员的分值,集合不存在或者成员不存在时返回nil。
    zscore key member
    La collection ordonnée Redis utilise linduction de points de connaissance

  • 对成员分值做运算
    1.zincrby命令  格式:zincrby key increment member
    执行完后返回当前成员分值,increment为正时自增,否则为自减;若键不存在或成员不存在则执行创建操作。
    zincrby key increment member
    La collection ordonnée Redis utilise linduction de points de connaissance

  • 获取成员数量
    1.zcard命令  格式:zcard key
    返回集合包含的成员数量,集合不存在时返回0。
    zcard key
    La collection ordonnée Redis utilise linduction de points de connaissance
    2.zcount命令  格式:zcount key min max
    获取指定分值范围内的成员数量,min或max前加“(”表示取开区间即不包含边界值,值+inf表示无穷大,-inf表示无穷小。
    zcount key min max
    La collection ordonnée Redis utilise linduction de points de connaissance
    3.zlexcount命令  格式:zlexcount key min max
    对于按照字典序排列的有序集合(即分值相同),获取指定字典序范围内的成员数量,min、max的可取值包括:带“[”的值表示包含字典序边界,带“(”表示不包含字典序边界,“+”表示无穷大,“-”表示无穷小。
    zlexcount key min max
    La collection ordonnée Redis utilise linduction de points de connaissance

  • 获取成员排名
    1.zrank命令  格式:zrank key member
    返回成员的升序排列排名,集合或成员不存在时返回nil。
    zrank key member
    La collection ordonnée Redis utilise linduction de points de connaissance
    2.zrevrank命令  格式:zrevrank key member
    返回成员的降序排列排名,集合或成员不存在时返回nil。
    zrevrank key memberInsérer ici description de l'image
    2. Commande zpopmin Format : touche zpopmin [count]La collection ordonnée Redis utilise linduction de points de connaissance 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é ...]🎜Insérer la description de l'image ici🎜 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é ...]🎜Insérer la description de l'image ici🎜 Client 2 : 🎜 Insérer une image description ici 🎜🎜🎜🎜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🎜Insérer une image ici Description 🎜🎜🎜🎜 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🎜Insérer ici l'image description 🎜🎜🎜🎜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🎜Insérer la description de l'image ici 🎜 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]
    La collection ordonnée Redis utilise linduction de points de connaissance
    2.zrevrange命令  格式:zrevrange key start stop [WITHSCORES]
    获取指定索引范围内的成员,按分值大小降序排列。WITHSCORES选项可在命令执行后返回分值,返回列表奇数位为成员,偶数位为对应分值。集合不存在时返回empty。
    zrevrange key start stop [WITHSCORES]
    La collection ordonnée Redis utilise linduction de points de connaissance
    3.zrangebyscore命令  格式:zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
    获取指定分值范围内的成员,按分值大小升序排列。WITHSCORES选项可在命令执行后返回分值,返回列表奇数位为成员,偶数位为对应分值。集合不存在时返回empty。
    zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
    La collection ordonnée Redis utilise linduction de points de connaissance
    [LIMIT offset count]选项的作用是限制返回的成员数量,offset指定需要跳过的成员数量,count执行最多返回成员的数量,count为负时取绝对值。
    La collection ordonnée Redis utilise linduction de points de connaissance
    min或max前加“(”表示取开区间即不包含边界值,值+inf表示无穷大,-inf表示无穷小。
    La collection ordonnée Redis utilise linduction de points de connaissance
    4.zrevrangebyscore命令  格式:zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]
    获取指定分值范围内的成员,按分值大小降序排列,注意max min顺序。
    zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]
    La collection ordonnée Redis utilise linduction de points de connaissance
    5.zrangebylex命令  格式:zrangebylex key min max [LIMIT offset count]
    当成员分值相同时,获取指定字典序范围内成员,按字典序升序排列,min、max的可取值包括:带“[”的值表示包含字典序边界,带“(”表示不包含字典序边界,“+”表示无穷大,“-”表示无穷小。
    zrangebylex key min max [LIMIT offset count]
    La collection ordonnée Redis utilise linduction de points de connaissance
    6.zrevrangebylex命令  格式:zrevrangebylex key max min [LIMIT offset count]
    当成员分值相同时,获取指定字典序范围内成员,按字典序降序排列,max、min的可取值包括:带“[”的值表示包含字典序边界,带“(”表示不包含字典序边界,“+”表示无穷大,“-”表示无穷小。
    zrevrangebylex key max min [LIMIT offset count] Insérez la description de l'image ici

    2. Commande zrevrange Format : zrevrange key start stop [WITHSCORES]🎜 Obtenez les membres dans la plage d'index spécifiée, triés par ordre dé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. 🎜zrevrange key start stop [WITHSCORES]🎜 Insérez la description de l'image ici🎜 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]🎜Insérer la description de l'image ici🎜 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. 🎜Insérer la description de l'image ici🎜 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. 🎜Insérer la description de l'image ici🎜 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]🎜Insérer la description de l'image ici🎜 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]🎜Insérer la description de l'image ici🎜 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 ...]
    La collection ordonnée Redis utilise linduction de points de connaissance
    AGGREGATE选项作用是指定使用的聚合函数,不指定时默认SUM。SUM指分值相加,MIN指取最小分值,MAX指取最大分值。
    zunionstore destination numkeys key [key ...] [AGGREGATE SUM|MIN|MAX]
    La collection ordonnée Redis utilise linduction de points de connaissance
    WEIGHTS 选项作用是执行聚合前为每个集合分别设置一个权重,权重分别与集合中成员分值相乘得到新分值,然后执行聚合计算。
    La collection ordonnée Redis utilise linduction de points de connaissance
     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]Insérer la description de l'image ici
    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]Insérer la description de l'image ici
    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.

    Insérer la description de l'image ici
  • 2) Commande zunion Format : zunion numkeys key [key …] [WEIGHTSweight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
  • Renvoie le nouveau membre de l'ensemble une fois l'exécution terminée.

    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]

    Renvoie le nombre de membres du nouvel ensemble après l'exécution.
  • touche numérique de destination zinterstore [clé ...] [poids des POIDS] [SOMME AGRÉGÉE|MIN|MAX]
 2) commande zinter Format : touche numérique zinter [clé ...] [poids des POIDS] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]

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]

Remarque🎜 :🎜 1. Les opérations d'ensemble peuvent utiliser des ensembles comme entrée, par défaut Ci-dessous, le score du membre de l'ensemble est considéré comme 1 et participe au calcul. Vous pouvez utiliser l'option POIDS pour définir le poids afin de modifier le score de l'ensemble. 🎜🎜🎜🎜Utilisation courante🎜 1. Liste de classement🎜 2. Chronologie🎜🎜🎜🎜Apprentissage recommandé : 🎜Tutoriel vidéo Redis🎜🎜

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