Consultas de rango de Redis

Consultas de rango de Redis
Redis tiene varios tipos de datos para almacenar y administrar múltiples tipos de datos en sus aplicaciones. Este tutorial le proporciona comandos de rango fundamental para recuperar valores de un tipo específico dentro de un rango.

Tenga en cuenta que este tutorial no es una introducción a los tipos de datos de Redis. Consulte nuestro tutorial sobre el tema para obtener más información.

Hemos probado los comandos y ejemplos sobre la última versión de Redis. Recomendamos replicar un entorno similar para obtener la máxima compatibilidad. Por ejemplo, los comandos como GetRange podrían no funcionar en Redis versión 2.0 y más bajo.

Comando GetRange

El comando del primer rango que veremos es el comando getRange. El comando toma una clave con un valor de cadena y devuelve una subcadena del valor según lo determinado por los índices de inicio y finalización.

La sintaxis del comando es como se muestra:

GetRange Key Start End

Comience por crear una clave y un valor simples en una base de datos Redis como se muestra en el siguiente comando:

127.0.0.1: 6379> Establezca mystring "Hola, mundo de Redis!"

A continuación, para obtener una subcadena a partir del índice 3 al índice 10, podemos hacer:

127.0.0.1: 6379> GetRange MyString 3 10
"Lo, Worl"

Tenga en cuenta que el índice de la cadena en el índice 0 hacia adelante. Los personajes de espacio en blanco también se incluyen como caracteres válidos.

También puede un rango negativo para obtener los últimos elementos en la cadena. Por ejemplo, para obtener los últimos tres índices, podemos hacer.

127.0.0.1: 6379> GetRange MyString -3 -1
"es!"

La sintaxis anterior obtiene los últimos tres caracteres en el valor de la cadena.

Comando lrange.

A menudo se encontrará con este comando cuando trabaje con listas en Redis. El comando lRange devuelve un número especificado de elementos en una lista de redis.

Toma la clave de la lista y un valor de inicio y parada. Del mismo modo, la indexación de elementos en una lista de Redis comienza en el índice 0.

Comience creando una lista simple como se muestra en el comando de ejemplo a continuación:

Bases de datos LPUSH MongoDB MySQL Postgresql Redis Firestore Cucarachdb Faunadb DocumentDB
(entero) 8

El comando anterior crea una lista de redis llamada bases de datos y agrega los valores especificados a él.

Puede usar el comando lrange para obtener elementos dentro de un rango específico. Por ejemplo, para obtener elementos del índice 0 al 5, podemos hacer.

127.0.0.1: 6379> bases de datos lrange 0 5
1) "DocumentDB"
2) "Faunadb"
3) "Cucroachdb"
4) "Firestore"
5) "Redis"
6) "PostgreSQL"

Notará que los elementos comienzan con el último elemento insertado al primero. La lista es simplemente una colección de elementos ordenados por el orden de inserción.

También puede usar un índice negativo para obtener el último elemento de una lista.

127.0.0.1: 6379> Bases de datos LRANGE -5 -1
1) "Firestore"
2) "Redis"
3) "PostgreSQL"
4) "mysql"
5) "MongoDB"

El comando devuelve los elementos de la cola de la lista.

Si obtiene un rango donde no hay elementos disponibles, el comando devolverá una lista vacía como:

127.0.0.1: 6379> Bases de datos LRANGE 10 20
(Lista o configuración vacía)

Comando zrange

El siguiente comando de rango con el que debe familiarizarse es el comando zrange. Usando el comando zRange, puede obtener elementos dentro de un rango específico desde un conjunto ordenado.

El comando toma la tecla de conjunto ordenada, un valor de índice de inicio y detención. Devuelve todos los elementos dentro del rango especificado ordenado por la puntuación de la más baja a la más alta.

La sintaxis del comando se puede expresar como:

Parada de inicio de la tecla zrange

Para ver cómo funciona el comando zRange, comience creando una lista ordenada usando comandos como se muestra:

127.0.0.1: 6379> Idiomas Zadd 1 Rust 2 Python 3 Go 5 C 4 C ++ 6 JavaScript 10 Java
(entero) 7

El comando anterior agrega los valores y sus puntajes correspondientes al conjunto ordenado "Idiomas".

Para obtener elementos en el conjunto dentro de un rango de puntaje específico, use el comando ZRange como se muestra:

127.0.0.1: 6379> Idiomas Zrange 1 5
1) "Python"
2) "ir"
3) "C ++"
4) "C"
5) "JavaScript"

El comando devuelve todos los elementos dentro de ese rango ordenado por valor de puntaje.

Para mostrar los elementos y su valor de puntaje correspondiente, use la opción WithScores como:

127.0.0.1: 6379> Idiomas zrange 0 5 con escorsos
1) "óxido"
2) "1"
3) "Python"
4) "2"
5) "ir"
6) "3"
---TRUNCADO---

El comando debe devolver el elemento y su puntaje.

Zreviar

El comando ZrevRange funciona de manera similar al comando zRange. Sin embargo, devuelve los valores en orden inverso, yo.mi., El rango de puntaje comienza de la más alta a la más baja.

Ejemplo

127.0.0.1: 6379> Idiomas de Zrevrange 0 5
1) "Java"
2) "JavaScript"
3) "C"
4) "C ++"
5) "ir"
6) "Python"

En este ejemplo, los resultados comienzan desde la puntuación más alta hasta el valor más bajo. Puede habilitar puntajes utilizando la opción WithScores.

127.0.0.1: 6379> Zrevrange Languages ​​0 5 Withscores
1) "Java"
2) "10"
3) "JavaScript"
4) "6"
5) "C"
sesenta y cinco"
7) "C ++"
8) "4"
9) "ir"
10) "3"
11) "Python"
12) "2"

Observe cómo los puntajes están en orden inverso en comparación con la salida del comando ZRange.

Conclusión

Esta guía le brinda un tutorial de algunos de los comandos de rango fundamental en Redis. Tenga en cuenta que hay otros comandos de rango como Ltrim, Xrange y más. Considere la documentación de los comandos que no se discuten en esta guía.