Comando Redis Zrangebylex
Redis conjunto ordenado (sorted set)
El comando Redis Zrangebylex se utiliza para obtener los miembros dentro de un rango especificado en un conjunto ordenado (sorted set) según el orden lexicográfico. Este comando se usa principalmente para conjuntos ordenados cuyos miembros son cadenas.
Sintaxis
La sintaxis básica del comando redis Zrange es la siguiente:
ZRANGEBYLEX key min max [LIMIT offset count]
key: nombre de la clave, especifica el conjunto ordenado a operar.minymax: valor límite del rango lexicográfico. Estos dos valores pueden ser infinito negativo (-) o infinito positivo (+), o pueden ser valores de cadena específicos. Los valores de cadena representan los límites lexicográficos de los miembros del conjunto ordenado.LIMIT offset count: parámetro opcional, utilizado para limitar la cantidad de resultados devueltos.offsetIndica cuántos elementos omitir desde el principio,countIndica cuántos elementos devolver.
Comportamiento del comando:
- Si
minSí+ominel primer elemento después de,maxSí-omaxel último elemento antes de, entonces devuelve la clavekeytodos los elementos del conjunto ordenado almacenado. - Si
minymaxson valores de cadena específicos, entonces devuelve los elementos del conjunto ordenado cuyo orden lexicográfico esté entreminymaxtodos los elementos entre. - Si
minSí+ominel primer elemento después de, ymaxes un valor de cadena específico, entonces devuelve los elementos del conjunto ordenado cuyo orden lexicográfico sea mayor o igual amaxtodos los elementos. - Si
mines un valor de cadena específico, ymaxSí-omaxel último elemento antes de, entonces devuelve los elementos del conjunto ordenado cuyo orden lexicográfico sea menor o igual amintodos los elementos.
Versiones disponibles
>= 2.8.9
Valor de retorno
Lista de elementos dentro del rango especificado.
Ejemplo
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>
Supongamos que tenemos un conjunto ordenado myzset, que contiene los siguientes elementos:
ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g
Obtener todos los elementos con orden lexicográfico entre a y f:
ZRANGEBYLEX myzset a f
Obtener todos los elementos con orden lexicográfico mayor que b y menor que f:
ZRANGEBYLEX myzset [b (f
Obtener los elementos con orden lexicográfico entre a y f, pero devolviendo solo los primeros 3:
ZRANGEBYLEX myzset a f LIMIT 0 3
Tenga en cuenta que el comando ZRANGEBYLEX realiza consultas de rango según el orden lexicográfico, no según la puntuación (score). Esto lo hace muy adecuado para escenarios en los que se necesita recuperar datos en orden alfabético.
Redis conjunto ordenado (sorted set)
Otras extensiones