Operaciones Hash 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 de Hash de Redis, centrándote en formas eficientes de administrar datos dentro de los hashes. Comenzaremos utilizando el comando HMSET para establecer múltiples campos en un hash simultáneamente. Luego, aprenderás cómo recuperar campos específicos utilizando HMGET, incrementar los valores de los campos con HINCRBY y verificar la existencia de un campo dentro de un hash utilizando HEXISTS. Al final de este laboratorio, tendrás una sólida comprensión de cómo realizar operaciones comunes de hash en Redis.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL redis(("Redis")) -.-> redis/RedisGroup(["Redis"]) redis/RedisGroup -.-> redis/access_cli("Connect Using CLI") redis/RedisGroup -.-> redis/store_string("Set String Value") redis/RedisGroup -.-> redis/fetch_string("Get String Value") redis/RedisGroup -.-> redis/increment_int("Increase Integer Value") subgraph Lab Skills redis/access_cli -.-> lab-552096{{"Operaciones Hash de Redis"}} redis/store_string -.-> lab-552096{{"Operaciones Hash de Redis"}} redis/fetch_string -.-> lab-552096{{"Operaciones Hash de Redis"}} redis/increment_int -.-> lab-552096{{"Operaciones Hash de Redis"}} end

Establecer múltiples campos con HMSET

En este paso, exploraremos el comando HMSET en Redis, que te permite establecer múltiples campos de un hash a la vez. Esto es más eficiente que establecer cada campo individualmente utilizando el comando HSET.

Primero, conectémonos al servidor Redis utilizando el comando redis-cli. Abre una terminal en tu directorio ~/project y escribe:

redis-cli

Deberías ver el prompt de Redis: 127.0.0.1:6379>.

Ahora, usemos el comando HMSET. La sintaxis es:

HMSET key field value [field value ...]

Donde:

  • key es el nombre del hash.
  • field es el nombre del campo dentro del hash.
  • value es el valor que se asignará al campo.

Creemos un hash llamado user:1001 y establezcamos múltiples campos para él: name, age y city.

HMSET user:1001 name "John Doe" age 30 city "New York"

Deberías ver la salida OK, lo que indica que el comando fue exitoso.

Para verificar que los campos se han establecido correctamente, puedes usar el comando HGETALL. Sin embargo, para este laboratorio, nos centraremos en verificar los comandos en sí mismos.

También puedes usar HMSET para actualizar los campos existentes. Por ejemplo, cambiemos el campo age a 31:

HMSET user:1001 age 31

De nuevo, deberías ver OK.

Recuerda salir de redis-cli escribiendo exit. Esto es importante para que el comando se registre para su verificación.

exit

Recuperar múltiples campos con HMGET

En este paso, aprenderemos cómo recuperar múltiples campos de un hash de Redis utilizando el comando HMGET. Esto es útil cuando solo necesitas campos específicos y no quieres recuperar todo el hash.

Primero, conéctate al servidor Redis utilizando el comando redis-cli:

redis-cli

Recuerda que en el paso anterior, creamos un hash llamado user:1001 con los campos name, age y city. Recuperemos los campos name y age utilizando el comando HMGET.

La sintaxis para HMGET es:

HMGET key field [field ...]

Donde:

  • key es el nombre del hash.
  • field es el nombre del campo que deseas recuperar. Puedes especificar múltiples campos.

Para recuperar los campos name y age del hash user:1001, ejecuta el siguiente comando:

HMGET user:1001 name age

Deberías ver una salida similar a esta:

1) "John Doe"
2) "31"

La salida es un array de valores, que corresponden al orden de los campos que solicitaste.

Si un campo no existe en el hash, HMGET devolverá nil para ese campo.

Recuerda salir de redis-cli escribiendo exit.

exit

Incrementar el valor de un campo con HINCRBY

En este paso, aprenderemos cómo incrementar el valor de un campo en un hash de Redis utilizando el comando HINCRBY. Este comando es particularmente útil para contadores y otros datos numéricos.

Primero, conéctate al servidor Redis utilizando el comando redis-cli:

redis-cli

Continuaremos utilizando el hash user:1001 que creamos en los pasos anteriores. Digamos que queremos rastrear el número de inicios de sesión para este usuario. Podemos agregar un campo logins al hash e incrementarlo cada vez que el usuario inicie sesión.

Primero, agreguemos el campo logins e inicialicémoslo a 0. Podemos usar HMSET para esto:

HMSET user:1001 logins 0

Deberías ver OK. Ahora, usemos HINCRBY para incrementar el campo logins.

La sintaxis para HINCRBY es:

HINCRBY key field increment

Donde:

  • key es el nombre del hash.
  • field es el nombre del campo que deseas incrementar.
  • increment es la cantidad en la que deseas incrementar el campo.

Para incrementar el campo logins en 1, ejecuta el siguiente comando:

HINCRBY user:1001 logins 1

Deberías ver la salida (integer) 1, que es el nuevo valor del campo logins.

Incrementemos el campo logins nuevamente:

HINCRBY user:1001 logins 1

La salida será (integer) 2.

También puedes incrementar por valores distintos de 1.

Recuerda salir de redis-cli escribiendo exit.

exit

Comprobar la existencia de un campo con HEXISTS

En este paso, aprenderemos cómo comprobar si un campo existe en un hash de Redis utilizando el comando HEXISTS. Esto es útil para verificar la presencia de un campo antes de intentar recuperarlo o modificarlo.

Primero, conéctate al servidor Redis utilizando el comando redis-cli:

redis-cli

Continuaremos utilizando el hash user:1001 que creamos en los pasos anteriores. Sabemos que este hash tiene campos como name, age, city y logins. Usemos HEXISTS para comprobar si el campo name existe.

La sintaxis para HEXISTS es:

HEXISTS key field

Donde:

  • key es el nombre del hash.
  • field es el nombre del campo que deseas comprobar.

Para comprobar si el campo name existe en el hash user:1001, ejecuta el siguiente comando:

HEXISTS user:1001 name

Deberías ver la salida (integer) 1, que indica que el campo existe.

Ahora, comprobemos un campo que no existe, como country:

HEXISTS user:1001 country

Deberías ver la salida (integer) 0, que indica que el campo no existe.

Recuerda salir de redis-cli escribiendo exit.

exit

Resumen

En este laboratorio, has aprendido sobre las operaciones de Hash de Redis. Comenzaste utilizando el comando HMSET para establecer eficientemente múltiples campos en un hash. Luego, exploraste cómo recuperar campos específicos utilizando HMGET, incrementar los valores de los campos con HINCRBY y comprobar la existencia de un campo dentro de un hash utilizando HEXISTS. Estos comandos proporcionan una base para administrar datos de manera efectiva dentro de los hashes de Redis.