Tous les produits
Search
Centre de documentation

Tair (Redis® OSS-Compatible):exZset

Dernière mise à jour :Aug 08, 2026

TairZset (exZset) étend les ensembles triés Redis en prenant en charge le scoring multidimensionnel : il permet de trier les membres selon jusqu'à 256 scores en virgule flottante double précision, avec une priorité appliquée de gauche à droite.

Présentation

Les ensembles triés Redis ne prennent en charge qu'un seul score par membre, ce qui rend complexe la mise en œuvre de classements multidimensionnels. Les solutions de contournement courantes, telles que la combinaison des scores via l'encodage IEEE 754 ou la concaténation de chaînes, entraînent une perte de précision, complexifient la logique d'encodage et de décodage, et empêchent l'incrémentation atomique des dimensions individuelles du score.

TairZset résout ces limitations grâce à une structure de données native multidimensionnelle :

  • Jusqu'à 256 dimensions de score par membre, formatées comme suit : score1#score2#...#scoreN

  • Priorité de gauche à droite : lors de la comparaison de deux membres, la première dimension est évaluée en premier ; si les valeurs sont égales, la deuxième dimension est comparée, et ainsi de suite.

  • Incrémentations atomiques : la commande EXZINCRBY incrémente une dimension spécifique sans nécessiter de cycle lecture-modification-écriture.

  • Compatibilité API : les commandes reproduisent le fonctionnement des commandes natives des ensembles triés, éliminant ainsi tout besoin de logique d'encodage ou de décodage côté client.

  • Classements réguliers et distribués : prend en charge les architectures de classement sur nœud unique ainsi que les architectures distribuées.

  • Client open source TairJedis : disponible à l'adresse TairJedis SDK ; utilisez le code source ouvert comme référence pour implémenter des clients dans d'autres langages.

Le module est open source et disponible sur TairZset sur GitHub.

Cas d'utilisation

Le scoring multidimensionnel fait de TairZset la solution idéale pour tout système de classement où une seule métrique s'avère insuffisante :

  • Classements de streaming en direct : classez les streamers d'abord par popularité, puis par nombre de « J'aime », puis par montant des cadeaux reçus — popularity#likes#gift_amount

  • Tableaux des médailles : classez les concurrents par médailles d'or, puis d'argent, puis de bronze — gold#silver#bronze

  • Classements de jeux vidéo : classez les joueurs par score, puis par temps d'achèvement des tâches, puis par rang du joueur — score#completion_time#player_rank

Fonctionnement de la comparaison multidimensionnelle

TairZset compare les scores dimension par dimension, de gauche à droite. Prenons l'exemple d'un score à deux dimensions score1#score2 :

  • Comparaison entre 0#99, 99#90 et 99#99 : puisque 0 < 99, le résultat est 0#99 < 99#90 < 99#99

  • Considérez le séparateur # comme une virgule décimale : 0.99 < 99.90 < 99.99

Si toutes les dimensions sont égales, TairZset trie les membres par ordre ASCII selon leur nom.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Une instance Tair optimisée pour la mémoire

  • Pour les instances optimisées pour la mémoire compatibles avec Redis 5.0 : version mineure 1.7.1 ou ultérieure.

Mettez à jour vers la dernière version mineure pour bénéficier du plus grand nombre de fonctionnalités et d'une stabilité optimale. Consultez la rubrique Mise à jour de la version mineure d'une instance . Pour les instances en cluster ou les instances avec séparation lecture/écriture, mettez également à jour les nœuds proxy afin de garantir le bon fonctionnement de toutes les commandes.

Notes d'utilisation

  • Toutes les commandes TairZset s'appliquent aux données TairZset stockées dans les instances Tair. L'exécution de ces commandes sur une clé contenant un type de données différent renvoie une erreur.

  • Cohérence du format de score : tous les membres d'une même clé doivent utiliser le même nombre de dimensions de score. Le mélange de formats tels que 1#2#3 et 1#2 au sein d'une même clé provoque une erreur.

  • Format d'incrémentation : la valeur increment de la commande EXZINCRBY doit correspondre au format de dimension du score du membre cible. Pour incrémenter une seule dimension d'un score à trois dimensions, vous devez spécifier les trois dimensions (par exemple, EXZINCRBY key 0#1#0 member).

  • Les valeurs +inf et -inf sont des valeurs de score valides pour toutes les commandes basées sur des plages de scores.

Démarrage rapide

L'exemple suivant illustre la création d'un classement de streaming en direct à deux dimensions : le tri s'effectue d'abord par popularité, puis par nombre de « J'aime ».

# Add streamers with initial scores (popularity#likes)
EXZADD leaderboard 1000#500 alice 800#900 bob 1000#300 carol

# Atomically increment alice's likes without a read-modify-write cycle
EXZINCRBY leaderboard 0#100 alice

# Get the full leaderboard, highest score first
EXZREVRANGE leaderboard 0 -1 WITHSCORES
# 1) "alice"
# 2) "1000#600"
# 3) "carol"
# 4) "1000#300"
# 5) "bob"
# 6) "800#900"

# Get alice's rank (highest = rank 0)
EXZREVRANK leaderboard alice
# (integer) 0

Commandes

Le tableau ci-dessous répertorie toutes les commandes TairZset. Utilisez la commande native Redis DEL pour supprimer les clés TairZset.

Commande Syntaxe Complexité Description
EXZADD EXZADD key [NX|XX] [CH] [INCR] score member [score member ...] O(M\*log(N)) Ajoute ou met à jour des membres avec leurs scores
EXZINCRBY EXZINCRBY key increment member O(log(N)) Incrémente le score d'un membre
EXZSCORE EXZSCORE key member O(1) Récupère le score d'un membre
EXZRANGE EXZRANGE key min max [WITHSCORES] O(log(N)+M) Renvoie les membres selon une plage d'index, du plus faible au plus élevé
EXZREVRANGE EXZREVRANGE key min max [WITHSCORES] O(log(N)+M) Renvoie les membres selon une plage d'index, du plus élevé au plus faible
EXZRANGEBYSCORE EXZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] O(log(N)+M) Renvoie les membres selon une plage de scores, du plus faible au plus élevé
EXZREVRANGEBYSCORE EXZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] O(log(N)+M) Renvoie les membres selon une plage de scores, du plus élevé au plus faible
EXZRANGEBYLEX EXZRANGEBYLEX key min max [LIMIT offset count] O(log(N)+M) Renvoie les membres selon une plage lexicographique
EXZREVRANGEBYLEX EXZREVRANGEBYLEX key max min [LIMIT offset count] O(log(N)+M) Renvoie les membres selon une plage lexicographique, dans l'ordre inverse
EXZREM EXZREM key member [member ...] O(M\*log(N)) Supprime des membres
EXZREMRANGEBYSCORE EXZREMRANGEBYSCORE key min max O(log(N)+M) Supprime les membres selon une plage de scores
EXZREMRANGEBYRANK EXZREMRANGEBYRANK key start stop O(log(N)+M) Supprime les membres selon une plage de rangs
EXZREMRANGEBYLEX EXZREMRANGEBYLEX key min max O(log(N)+M) Supprime les membres selon une plage lexicographique
EXZCARD EXZCARD key O(1) Renvoie le nombre de membres
EXZRANK EXZRANK key member O(log(N)) Renvoie le rang d'un membre, du plus faible au plus élevé
EXZREVRANK EXZREVRANK key member O(log(N)) Renvoie le rang d'un membre, du plus élevé au plus faible
EXZCOUNT EXZCOUNT key min max O(log(N)) Compte les membres dans une plage de scores
EXZLEXCOUNT EXZLEXCOUNT key min max O(log(N)) Compte les membres dans une plage lexicographique
EXZRANKBYSCORE EXZRANKBYSCORE key score O(log(N)) Renvoie le rang d'un score, du plus faible au plus élevé
EXZREVRANKBYSCORE EXZREVRANKBYSCORE key score O(log(N)) Renvoie le rang d'un score, du plus élevé au plus faible
DEL DEL key [key ...] Supprime une ou plusieurs clés TairZset

Conventions syntaxiques utilisées dans cette rubrique :

  • MOT_CLÉ_MAJUSCULE : mot-clé de commande

  • _italique_ : variable

  • [option] : paramètre facultatif

  • A|B : options mutuellement exclusives (choisissez-en une)

  • ... : le paramètre précédent peut être répété

EXZADD

Catégorie Détails
Syntaxe EXZADD key [NX|XX] [CH] [INCR] score member [score member ...]
Complexité O(M\*log(N)), où N représente le nombre de membres dans la clé et M le nombre de membres ajoutés ou mis à jour
Description Ajoute des membres avec leurs scores à une clé TairZset, ou met à jour les scores des membres existants.

Comportement :

  • Si la clé n'existe pas, elle est créée.

  • Si un membre n'existe pas, il est ajouté avec le score indiqué.

  • Si un membre existe déjà, son score est écrasé (sauf si l'option NX est spécifiée).

  • Chaque score est une représentation sous forme de chaîne d'un nombre en virgule flottante double précision. Les valeurs +inf et -inf sont valides.

Pour utiliser le scoring multidimensionnel, séparez chaque dimension par le caractère # , par exemple 111#222#121 . Tous les membres de la clé doivent utiliser le même nombre de dimensions.

Options :

Option Description
NX Ajoute uniquement les nouveaux membres ; ignore les membres existants
XX Met à jour uniquement les membres existants ; ignore les nouveaux membres
CH Modifie la valeur de retour : au lieu du nombre de membres nouvellement ajoutés, renvoie le nombre total de membres modifiés (ajoutés ou dont le score a été mis à jour)
INCR Traite le score comme une incrémentation, faisant fonctionner EXZADD comme la commande EXZINCRBY. Seul un couple score-membre est autorisé dans ce mode.

Valeur de retour :

  • Sans option : le nombre de membres nouvellement ajoutés (les membres dont seul le score a été mis à jour ne sont pas comptés)

  • Avec l'option CH : le nombre de membres ajoutés ou dont le score a changé

  • Avec l'option INCR : le nouveau score du membre sous forme de chaîne (par exemple, "2#0#6"); renvoie nil si l'opération est ignorée en raison des options NX ou XX

Exemple :

EXZADD testkey NX 1#0#3 a 1#0#2 b
(integer) 2

EXZINCRBY

Catégorie Détails
Syntaxe EXZINCRBY key increment member
Complexité O(log(N))
Description Incrémente le score d'un membre dans une clé TairZset.

Comportement :

  • Si la clé ou le membre n'existe pas, les deux sont créés et le score est défini sur la valeur increment.

  • Si le membre existe, son score est incrémenté de la valeur increment.

  • Chaque dimension de score est un nombre en virgule flottante double précision. Les valeurs +inf et -inf sont valides.

  • Pour décrémenter un score, passez une valeur increment négative.

Pour les scores multidimensionnels, le paramètre increment doit utiliser le même format que le score du membre. Par exemple, pour incrémenter uniquement la deuxième dimension d'un score à trois dimensions, utilisez 0#1#0 .

Valeur de retour : le nouveau score du membre sous forme de chaîne. Pour les scores multidimensionnels, le format est "score1#score2#..." (par exemple, "2#0#6").

Exemple :

EXZINCRBY testkey 2#2#1 a
"3#2#4"

EXZSCORE

Catégorie Détails
Syntaxe EXZSCORE key member
Complexité O(1)
Description Renvoie le score d'un membre dans une clé TairZset. Renvoie nil si la clé ou le membre n'existe pas.

Valeur de retour : le score du membre sous forme de chaîne. Pour les scores multidimensionnels, le format est "score1#score2#..." (par exemple, "3#2#4").

Exemple :

EXZSCORE testkey a
"3#2#4"

EXZRANGE

Catégorie Détails
Syntaxe EXZRANGE key min max [WITHSCORES]
Complexité O(log(N)+M), où N représente le nombre de membres et M le nombre de membres renvoyés
Description Renvoie les membres situés dans une plage d'index, triés par score du plus faible au plus élevé.

Options :

Option Description
min, max Valeurs d'index basées sur zéro. -1 correspond au dernier membre, -2 à l'avant-dernier, etc. Pour renvoyer tous les membres, utilisez 0 et -1. Renvoie une liste vide si min dépasse le dernier index ou est supérieur à max.
WITHSCORES Inclut les scores dans la réponse. Le format alterne membre et score : member1, score1, member2, score2, ...

Return value: une liste des membres situés dans la plage spécifiée, avec leurs scores si l'option WITHSCORES est indiquée.

Exemple :

EXZRANGE testkey 0 -1 WITHSCORES
1) "b"
2) "1#0#2"
3) "a"
4) "3#2#4"

EXZREVRANGE

Catégorie Détails
Syntaxe EXZREVRANGE key min max [WITHSCORES]
Complexité O(log(N)+M), où N représente le nombre de membres et M le nombre de membres renvoyés
Description Renvoie les membres situés dans une plage d'index, triés par score du plus élevé au plus faible. Les membres ayant le même score sont triés dans l'ordre lexicographique inverse. Identique à la commande EXZRANGE, à l'exception du sens du tri.

Options :

Option Description
min, max Valeurs d'index basées sur zéro. -1 correspond au membre ayant le score le plus faible, -2 au deuxième plus faible, etc. Pour renvoyer tous les membres, utilisez 0 et -1.
WITHSCORES Inclut les scores dans la réponse.

Return value: une liste des membres situés dans la plage spécifiée, avec leurs scores si l'option WITHSCORES est indiquée.

Exemple :

EXZREVRANGE testkey 0 -1 WITHSCORES
1) "a"
2) "3#2#4"
3) "b"
4) "1#0#2"

EXZRANGEBYSCORE

Catégorie Détails
Syntaxe EXZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
Complexité O(log(N)+M), où N représente le nombre de membres et M le nombre de membres renvoyés. Lorsque M est constant (par exemple, en utilisant LIMIT pour toujours renvoyer les 10 premiers membres), la complexité est O(log(N)).
Description Renvoie tous les membres dont les scores sont compris entre min et max, triés du plus faible au plus élevé. Les membres ayant le même score sont triés dans l'ordre lexicographique.

Options :

Option Description
min, max Scores minimum et maximum. Pour les scores multidimensionnels, utilisez # comme séparateur. Utilisez -inf et +inf lorsque les limites de score sont inconnues. Par défaut, la plage est un intervalle fermé (min <= score <= max). Préfixez une valeur avec ( pour définir un intervalle ouvert — par exemple, (1 5 renvoie les membres dont les scores sont strictement supérieurs à 1 et inférieurs ou égaux à 5.
WITHSCORES Inclut les scores dans la réponse.
LIMIT offset count Limite le résultat à count membres à partir de offset. Si count est négatif, tous les membres à partir de offset sont renvoyés. Une valeur offset élevée augmente la complexité temporelle, car TairZset doit parcourir la clé pour atteindre cette position.

Return value: une liste des membres situés dans la plage de scores, avec leurs scores si l'option WITHSCORES est indiquée.

Exemple :

EXZRANGEBYSCORE testkey 0#0#0 6#6#6 WITHSCORES
1) "b"
2) "1#0#2"
3) "a"
4) "3#2#4"

EXZREVRANGEBYSCORE

Catégorie Détails
Syntaxe EXZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
Complexité O(log(N)+M), où N représente le nombre de membres et M le nombre de membres renvoyés. Lorsque M est constant (par exemple, en utilisant LIMIT pour toujours renvoyer les 10 premiers membres), la complexité est O(log(N)).
Description Renvoie tous les membres dont les scores sont compris entre min et max, triés du plus élevé au plus faible. Les membres ayant le même score sont triés dans l'ordre lexicographique inverse. Similaire à la commande EXZRANGEBYSCORE, mais dans l'ordre inverse. Notez que max précède min dans la syntaxe.

Options :

Option Description
max, min Scores maximum et minimum (notez l'ordre inversé des arguments). Pour les scores multidimensionnels, utilisez # comme séparateur. Utilisez -inf et +inf lorsque les limites de score sont inconnues. Préfixez une valeur avec ( pour définir un intervalle ouvert.
WITHSCORES Inclut les scores dans la réponse.
LIMIT offset count Limite le résultat à count membres à partir de offset. Une valeur offset élevée augmente la complexité temporelle.

Return value: une liste des membres situés dans la plage de scores, avec leurs scores si l'option WITHSCORES est indiquée.

Exemple :

EXZREVRANGEBYSCORE testkey 6#6#6 0#0#0 WITHSCORES
1) "a"
2) "3#2#4"
3) "b"
4) "1#0#2"

EXZRANGEBYLEX

Catégorie Détails
Syntaxe EXZRANGEBYLEX key min max [LIMIT offset count]
Complexité O(log(N)+M), où N représente le nombre de membres et M le nombre de membres renvoyés. Lorsque M est constant, la complexité est O(log(N)).
Description Renvoie les membres dont les noms se situent entre min et max dans l'ordre lexicographique. Tous les membres de la clé doivent avoir le même score pour que les résultats soient prévisibles.
Si les membres ont des scores différents, l'ensemble renvoyé est indéfini. La comparaison lexicographique utilise la fonction C memcmp() , qui compare les octets un par un. Si deux chaînes partagent un préfixe commun, la chaîne la plus longue obtient un rang supérieur.

Options :

Option Description
min, max Limites des noms de membres. Préfixez avec [ pour un intervalle fermé (par exemple, [a) ou avec ( pour un intervalle ouvert (par exemple, (a). Utilisez - pour l'infini négatif (la plus petite chaîne) et + pour l'infini positif (la plus grande chaîne).
LIMIT offset count Limite le résultat à count membres à partir de offset. Une valeur offset élevée augmente la complexité temporelle.

Return value: une liste des membres situés dans la plage lexicographique.

Exemple :

EXZRANGEBYLEX zzz [a [b
1) "aba"
2) "abc"

EXZREVRANGEBYLEX

Catégorie Détails
Syntaxe EXZREVRANGEBYLEX key max min [LIMIT offset count]
Complexité O(log(N)+M), où N représente le nombre de membres et M le nombre de membres renvoyés. Lorsque M est constant, la complexité est O(log(N)).
Description Renvoie les membres situés dans la plage lexicographique entre max et min, dans l'ordre inverse. Identique à la commande EXZRANGEBYLEX, mais dans l'ordre inverse. Notez que max précède min dans la syntaxe.

Options :

Option Description
max, min Limites des noms de membres (notez l'ordre inversé des arguments). Préfixez avec [ pour un intervalle fermé ou avec ( pour un intervalle ouvert. Utilisez - et + respectivement pour l'infini négatif et l'infini positif.
LIMIT offset count Limite le résultat à count membres à partir de offset. Une valeur offset élevée augmente la complexité temporelle.

Return value: une liste des membres situés dans la plage lexicographique, dans l'ordre inverse.

Exemple :

EXZREVRANGEBYLEX zzz [b [a
1) "abc"
2) "aba"

EXZREM

Catégorie Détails
Syntaxe EXZREM key member [member ...]
Complexité O(M\*log(N)), où N représente le nombre de membres et M le nombre de membres à supprimer
Description Supprime les membres spécifiés d'une clé TairZset. Les membres inexistants sont ignorés silencieusement. Renvoie une erreur si la clé existe mais contient un type de données différent.

Valeur de retour : le nombre de membres supprimés (sans compter les membres inexistants).

Exemple :

EXZREM testkey a
(integer) 1

EXZREMRANGEBYSCORE

Catégorie Détails
Syntaxe EXZREMRANGEBYSCORE key min max
Complexité O(log(N)+M), où N représente le nombre de membres et M le nombre de membres supprimés
Description Supprime tous les membres dont les scores sont compris entre min et max, bornes incluses.

Options :

Option Description
min, max Limites de score. Pour les scores multidimensionnels, utilisez # comme séparateur. Utilisez -inf et +inf lorsque les limites sont inconnues. Préfixez avec ( pour définir un intervalle ouvert — par exemple, EXZREMRANGEBYSCORE key (1 5 supprime les membres dont les scores sont strictement supérieurs à 1 et inférieurs ou égaux à 5.

Valeur de retour : le nombre de membres supprimés.

Exemple :

EXZREMRANGEBYSCORE testkey 3#2#4 6#6#6
(integer) 1

EXZREMRANGEBYRANK

Catégorie Détails
Syntaxe EXZREMRANGEBYRANK key start stop
Complexité O(log(N)+M), où N représente le nombre de membres et M le nombre de membres supprimés
Description Supprime tous les membres dont les rangs sont compris entre start et stop.

Options :

Option Description
start, stop Valeurs de rang basées sur zéro, où 0 correspond au membre ayant le score le plus faible. Les valeurs négatives comptent à partir du score le plus élevé : -1 correspond au membre ayant le score le plus élevé, -2 au deuxième plus élevé, etc.

Valeur de retour : le nombre de membres supprimés.

Exemple :

EXZREMRANGEBYRANK testkey 0 1
(integer) 1

EXZREMRANGEBYLEX

Catégorie Détails
Syntaxe EXZREMRANGEBYLEX key min max
Complexité O(log(N)+M), où N représente le nombre de membres et M le nombre de membres supprimés
Description Supprime les membres dont les noms se situent entre min et max dans l'ordre lexicographique. Tous les membres doivent avoir le même score pour que les résultats soient prévisibles. Supprime les mêmes membres que ceux qui seraient renvoyés par la commande EXZRANGEBYLEX avec les mêmes valeurs min et max.

Options :

Option Description
min, max Limites des noms de membres. Préfixez avec [ pour un intervalle fermé ou avec ( pour un intervalle ouvert.

Valeur de retour : le nombre de membres supprimés.

Exemple :

EXZREMRANGEBYLEX testkey [a [b
(integer) 2

EXZCARD

Catégorie Détails
Syntaxe EXZCARD key
Complexité O(1)
Description Renvoie le nombre de membres dans une clé TairZset. Renvoie 0 si la clé n'existe pas.

Valeur de retour : le nombre de membres (entier).

Exemple :

EXZCARD testkey
(integer) 2

EXZRANK

Catégorie Détails
Syntaxe EXZRANK key member
Complexité O(log(N))
Description Renvoie le rang d'un membre, le rang 0 étant attribué au membre ayant le score le plus faible (ordre croissant).

Valeur de retour :

  • Le rang du membre (entier) si le membre existe

  • nil si la clé ou le membre n'existe pas

Exemple :

EXZRANK testkey b
(integer) 0

EXZREVRANK

Catégorie Détails
Syntaxe EXZREVRANK key member
Complexité O(log(N))
Description Renvoie le rang d'un membre, le rang 0 étant attribué au membre ayant le score le plus élevé (ordre décroissant). Identique à la commande EXZRANK, mais dans l'ordre inverse.

Valeur de retour :

  • Le rang du membre (entier) si le membre existe

  • nil si la clé ou le membre n'existe pas

Exemple :

EXZREVRANK testkey b
(integer) 1

EXZCOUNT

Catégorie Détails
Syntaxe EXZCOUNT key min max
Complexité O(log(N)), où N représente le nombre de membres. Le travail effectué est proportionnel au nombre d'éléments parcourus au niveau de l'index, et non à la taille de la plage de scores.
Description Renvoie le nombre de membres dont les scores sont compris entre min et max.

Options :

Option Description
min, max Limites de score. Pour les scores multidimensionnels, utilisez # comme séparateur. Utilisez -inf et +inf pour les requêtes non bornées. Préfixez avec ( pour définir un intervalle ouvert — par exemple, (1 5 compte les membres dont les scores sont strictement supérieurs à 1 et inférieurs ou égaux à 5.

Valeur de retour : le nombre de membres situés dans la plage de scores (entier).

Exemple :

EXZCOUNT testkey (1#0#2 6#6#6
(integer) 1

EXZLEXCOUNT

Catégorie Détails
Syntaxe EXZLEXCOUNT key min max
Complexité O(log(N)), où N représente le nombre de membres. Le travail effectué est proportionnel au nombre d'éléments parcourus au niveau de l'index.
Description Renvoie le nombre de membres dont les noms se situent entre min et max dans l'ordre lexicographique. Tous les membres doivent avoir le même score pour que les résultats soient prévisibles.
Si les membres ont des scores différents, le résultat est indéfini. La comparaison lexicographique utilise la fonction C memcmp() . Si deux chaînes partagent un préfixe commun, la chaîne la plus longue obtient un rang supérieur.

Options :

Option Description
min, max Limites des noms de membres. Préfixez avec [ pour un intervalle fermé ou avec ( pour un intervalle ouvert.

Valeur de retour : le nombre de membres situés dans la plage lexicographique (entier).

Exemple :

EXZLEXCOUNT zzz [a [b
(integer) 2

EXZRANKBYSCORE

Catégorie Détails
Syntaxe EXZRANKBYSCORE key score
Complexité O(log(N))
Description Renvoie le rang qu'occuperait un score donné dans la clé, trié du plus faible au plus élevé (rang 0 = score le plus faible). Si le score n'existe pas, renvoie son rang estimé. Si le score existe déjà, le rang est calculé comme si le nouveau score était inséré avant l'existant.

Valeur de retour : le rang du score spécifié (entier).

Exemple :

EXZRANKBYSCORE testkey 2#0#2
(integer) 1

EXZREVRANKBYSCORE

Catégorie Détails
Syntaxe EXZREVRANKBYSCORE key score
Complexité O(log(N))
Description Renvoie le rang qu'occuperait un score donné dans la clé, trié du plus élevé au plus faible (rang 0 = score le plus élevé). Si le score n'existe pas, renvoie son rang estimé. Si le score existe déjà, le rang est calculé comme si le nouveau score était inséré après l'existant.

Valeur de retour : le rang du score spécifié (entier).

Exemple :

EXZREVRANKBYSCORE testkey 2#0#2
(integer) 1

Étapes suivantes