Introducción
En este laboratorio, explorarás las operaciones fundamentales de los Sorted Sets (Conjuntos Ordenados) de Redis. Comenzarás conectándote al servidor Redis y utilizando el comando ZADD para agregar elementos con puntuaciones (scores) asociadas a un Sorted Set. Esto incluye agregar nuevos elementos, actualizar las puntuaciones de los elementos existentes y comprender la salida del comando.
A continuación, aprenderás cómo obtener un rango de elementos del Sorted Set por su índice utilizando el comando ZRANGE, obtener el rango (rank) de un elemento con ZRANK, incrementar la puntuación de un elemento utilizando ZINCRBY y, finalmente, eliminar elementos del Sorted Set con ZREM.
Añadir Elementos con Puntuaciones usando ZADD
En este paso, aprenderás cómo agregar elementos con puntuaciones (scores) a un Sorted Set (Conjunto Ordenado) de Redis utilizando el comando ZADD. Los Sorted Sets son una estructura de datos que almacena elementos asociados con una puntuación. Los elementos se ordenan por sus puntuaciones, lo que te permite recuperarlos de manera ordenada.
Primero, conectémonos al servidor Redis. Abre una terminal en la VM de LabEx. Ya deberías estar en el directorio ~/project. Ahora, conéctate al servidor Redis utilizando el comando redis-cli:
redis-cli
Deberías ver el prompt de Redis: 127.0.0.1:6379>.
Ahora, agreguemos algunos elementos con puntuaciones a un Sorted Set llamado my_zset. El comando ZADD tiene la siguiente sintaxis:
ZADD key score member [score member ...]
Donde:
keyes el nombre del Sorted Set.scorees la puntuación asociada con el elemento.memberes el elemento que se va a agregar.
Agreguemos tres elementos a my_zset: "apple" con una puntuación de 1, "banana" con una puntuación de 2 y "cherry" con una puntuación de 3.
ZADD my_zset 1 apple 2 banana 3 cherry
Deberías ver la siguiente salida:
(integer) 3
Esto indica que se agregaron tres elementos al Sorted Set.
Es importante salir de la CLI de Redis después de este paso para asegurar que los comandos se registren correctamente. Para salir, escribe:
exit
Añadir Más Elementos y Actualizar la Puntuación con ZADD
En este paso, continuaremos agregando elementos al Sorted Set my_zset y actualizaremos la puntuación de un elemento existente.
Primero, conéctate al servidor Redis nuevamente:
redis-cli
Ahora, agreguemos otro elemento, "date" con una puntuación de 2.5:
ZADD my_zset 2.5 date
Deberías ver la siguiente salida:
(integer) 1
Esto indica que se agregó un elemento al Sorted Set.
También puedes actualizar la puntuación de un elemento existente utilizando ZADD. Actualicemos la puntuación de "apple" a 1.5:
ZADD my_zset 1.5 apple
Deberías ver la siguiente salida:
(integer) 0
Esto indica que no se agregaron nuevos elementos (porque "apple" ya existía), pero la puntuación de "apple" se actualizó.
Recuerda salir de la CLI de Redis:
exit
Obtener Rango por Índice con ZRANGE
Ahora que hemos poblado nuestro Sorted Set my_zset, aprendamos cómo recuperar elementos dentro de un rango específico utilizando el comando ZRANGE.
Conéctate al servidor Redis:
redis-cli
El comando ZRANGE recupera elementos de un Sorted Set dentro de un rango especificado de índices. La sintaxis es la siguiente:
ZRANGE key start stop [WITHSCORES]
Donde:
keyes el nombre del Sorted Set.startes el índice de inicio (inclusivo).stopes el índice de fin (inclusivo).WITHSCORES(opcional) incluye las puntuaciones (scores) de los elementos en la salida.
Para recuperar los tres primeros elementos (índice 0 a 2) de my_zset, utiliza el siguiente comando:
ZRANGE my_zset 0 2
Deberías ver la siguiente salida, que representa los elementos ordenados por sus puntuaciones:
1) "apple"
2) "banana"
3) "date"
Para recuperar los elementos junto con sus puntuaciones, utiliza la opción WITHSCORES:
ZRANGE my_zset 0 2 WITHSCORES
Deberías ver la siguiente salida:
1) "apple"
2) "1.5"
3) "banana"
4) "2"
5) "date"
6) "2.5"
Sal de la CLI de Redis:
exit
Obtener el Rango de un Elemento con ZRANK
En este paso, aprenderás cómo determinar el rango (rank) de un elemento dentro de un Sorted Set utilizando el comando ZRANK. El rango representa la posición del elemento en el orden ordenado (comenzando desde 0 para la puntuación más baja).
Conéctate al servidor Redis:
redis-cli
El comando ZRANK tiene la siguiente sintaxis:
ZRANK key member
Donde:
keyes el nombre del Sorted Set.memberes el elemento para el que deseas encontrar el rango.
Para encontrar el rango de "banana" en my_zset, utiliza el siguiente comando:
ZRANK my_zset banana
Deberías ver la siguiente salida:
(integer) 1
Esto indica que "banana" está en el rango 1 en el Sorted Set.
Sal de la CLI de Redis:
exit
Incrementar la Puntuación con ZINCRBY y Eliminar Elementos con ZREM
En este paso final, aprenderás cómo incrementar la puntuación (score) de un elemento utilizando ZINCRBY y eliminar elementos utilizando ZREM.
Conéctate al servidor Redis:
redis-cli
El comando ZINCRBY incrementa la puntuación de un miembro en un sorted set. La sintaxis es:
ZINCRBY key increment member
Donde:
keyes el nombre del Sorted Set.incrementes el valor por el cual incrementar la puntuación.memberes el elemento cuya puntuación deseas incrementar.
Incrementemos la puntuación de "banana" en 0.5:
ZINCRBY my_zset 0.5 banana
Deberías ver la siguiente salida:
"2.5"
Esto indica que la nueva puntuación de "banana" es 2.5.
El comando ZREM elimina un miembro de un sorted set. La sintaxis es:
ZREM key member [member ...]
Donde:
keyes el nombre del Sorted Set.memberes el elemento que deseas eliminar.
Eliminemos "banana" de my_zset:
ZREM my_zset banana
Deberías ver la siguiente salida:
(integer) 1
Esto indica que se eliminó un elemento.
Sal de la CLI de Redis:
exit
Resumen
En este laboratorio, has aprendido cómo utilizar las operaciones fundamentales de Redis Sorted Set. Has utilizado ZADD para añadir elementos con puntuaciones (scores), ZRANGE para obtener rangos de elementos, ZRANK para obtener el rango (rank) de un elemento, ZINCRBY para incrementar las puntuaciones y ZREM para eliminar elementos. Ahora tienes una base sólida para gestionar sorted sets de forma eficaz en Redis.


