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.
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:
keyes el nombre del hash.fieldes el nombre del campo dentro del hash.valuees 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:
keyes el nombre del hash.fieldes 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:
keyes el nombre del hash.fieldes el nombre del campo que deseas incrementar.incrementes 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:
keyes el nombre del hash.fieldes 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.


