Commande Redis Zrangebylex

Ensemble trié Redis

La commande Redis Zrangebylex est utilisée pour obtenir les membres dans un intervalle spécifié d'un ensemble trié par ordre lexicographique. Cette commande est principalement utilisée pour les ensembles triés dont les membres sont des chaînes.

Syntaxe

La syntaxe de base de la commande redis Zrange est la suivante :

ZRANGEBYLEX key min max [LIMIT offset count]
  • key: Nom de la clé, spécifie l'ensemble trié sur lequel opérer.
  • minetmax: Valeurs limites de l'intervalle lexicographique. Ces deux valeurs peuvent être l'infini négatif (-) ou l'infini positif (+), ou elles peuvent être des valeurs de chaîne spécifiques. Une valeur de chaîne représente la limite lexicographique des membres dans l'ensemble trié.
  • LIMIT offset count: Paramètres optionnels, utilisés pour limiter le nombre de résultats renvoyés.offsetIndique combien d'éléments ignorer depuis le début,countIndique combien d'éléments retourner.

Comportement de la commande :

  • SiminOui+ouminle premier élément après,maxOui-oumaxle dernier élément avant, puis renvoyer la clékeytous les éléments de l'ensemble trié stocké.
  • Siminetmaxsont tous deux des chaînes spécifiques, alors renvoyer l'ordre lexicographique dans l'ensemble trié entreminetmaxtous les éléments entre.
  • SiminOui+ouminle premier élément après, etmaxest une chaîne spécifique, alors renvoyer l'ordre lexicographique dans l'ensemble trié qui est supérieur ou égal àmaxtous les éléments.
  • Siminest une chaîne spécifique, etmaxOui-oumaxle dernier élément avant, puis renvoyer l'ordre lexicographique dans l'ensemble trié qui est inférieur ou égal àmintous les éléments.

Versions disponibles

>= 2.8.9

Valeur de retour

Liste des éléments dans la plage spécifiée.

Exemples

redis 127.0.0.1:6379> ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g
(integer) 7
redis 127.0.0.1:6379> ZRANGEBYLEX myzset - [c
1) "a"
2) "b"
3) "c"
redis 127.0.0.1:6379> ZRANGEBYLEX myzset - (c
1) "a"
2) "b"
redis 127.0.0.1:6379> ZRANGEBYLEX myzset [aaa (g
1) "b"
2) "c"
3) "d"
4) "e"
5) "f"
redis> 

Supposons que nous ayons un ensemble trié myzset contenant les éléments suivants :

ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g

Obtenez tous les éléments dont l'ordre lexicographique est compris entre a et f :

ZRANGEBYLEX myzset a f

Obtenez tous les éléments dont l'ordre lexicographique est supérieur à b et inférieur à f :

ZRANGEBYLEX myzset [b (f

Obtenez les éléments dont l'ordre lexicographique est compris entre a et f, mais ne renvoyez que les 3 premiers :

ZRANGEBYLEX myzset a f LIMIT 0 3

Veuillez noter que la commande ZRANGEBYLEX effectue des requêtes de plage par ordre lexicographique, et non par score. Cela la rend très adaptée aux scénarios où les données doivent être récupérées dans l'ordre alphabétique.

Ensemble trié Redis

Autres extensions