Operaciones con Sorted Sets de Redis

RedisRedisBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL redis(("Redis")) -.-> redis/RedisGroup(["Redis"]) redis/RedisGroup -.-> redis/access_cli("Connect Using CLI") redis/RedisGroup -.-> redis/remove_key("Delete Single Key") redis/RedisGroup -.-> redis/increment_int("Increase Integer Value") redis/RedisGroup -.-> redis/fetch_range("Get List Range") subgraph Lab Skills redis/access_cli -.-> lab-552105{{"Operaciones con Sorted Sets de Redis"}} redis/remove_key -.-> lab-552105{{"Operaciones con Sorted Sets de Redis"}} redis/increment_int -.-> lab-552105{{"Operaciones con Sorted Sets de Redis"}} redis/fetch_range -.-> lab-552105{{"Operaciones con Sorted Sets de Redis"}} end

Agregar 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:

  • key es el nombre del Sorted Set.
  • score es la puntuación asociada con el elemento.
  • member es 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

Agregar 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:

  • key es el nombre del Sorted Set.
  • start es el índice de inicio (inclusivo).
  • stop es 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:

  • key es el nombre del Sorted Set.
  • member es 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:

  • key es el nombre del Sorted Set.
  • increment es el valor por el cual incrementar la puntuación.
  • member es 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:

  • key es el nombre del Sorted Set.
  • member es 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.