Cómo usar Redis Hset

Cómo usar Redis Hset
Un hash en Redis es un tipo de datos utilizado para almacenar una asignación entre una clave y un valor. Redis Hashes son adecuados para mantener objetos de datos complejos, ya que pueden contener múltiples pares de valor clave con poco espacio.

Ejemplo de uso de un hash redis es almacenar información sobre una publicación. Se puede utilizar un hash para almacenar información como post_id, autor_name, publish_data, categoría y más.

Los hashes son uno de los tipos de datos fundamentales, y si es nuevo en Redis o un profesional experimentado, saber cómo trabajar con Hashes puede ser muy beneficioso.

La esencia de este tutorial es proporcionarle el conocimiento fundamental para trabajar con hashes en Redis.

En esta guía, hemos utilizado la última versión del servidor Redis que se ejecuta en un sistema Debian 11. Aunque no tiene que replicar este entorno, le recomendamos usar el Redis CLI nativo. El uso de Redis CLI se asegurará de obtener salidas similares como esta guía.

Cómo crear un hash

Lo primero que aprenderemos es cómo crear un hash en Redis.

Abra la CLI redis y use el comando HSET para crear un hash. El comando toma el nombre de la clave hash, el campo y el valor como sus argumentos.

Tome el ejemplo que se muestra a continuación:

127.0.0.1: 6379> Título de la publicación HSET "Hello World Título."
(entero) 1

El comando anterior crea un hash con la clave de post y un campo de título y su valor correspondiente.

El comando devuelve un entero 1 si el hash se crea con éxito.

Es bueno asegurarse de proporcionar todos los argumentos en el comando HSET para evitar cualquier error. Por ejemplo, el siguiente comando devuelve un error ya que falta un argumento en el comando:

127.0.0.1: 6379> hset post post_id

(Error) ERR Número incorrecto de argumentos para 'HSET' dominio

NOTA: Si ejecuta el comando HSET donde ya existe un hash, Redis sobrescribirá el contenido del hash anterior con el nuevo.

Por ejemplo, eche un vistazo al comando a continuación:

127.0.0.1: 6379> Título de la publicación HSET "Título sobrescrito."
(entero) 0

En este caso, el comando HSET devuelve un entero 0 si el valor especificado se actualiza correctamente.

Para crear múltiples campos y sus valores correspondientes en un solo comando, use el comando hmset.

Por ejemplo:

127.0.0.1: 6379> hmset post post_id 1 título "Hola título mundial."Author_name" Linuxhint "Publish_Date" 02/02/2022 "CategpGry" Linux "
DE ACUERDO

El comando devuelve la cadena "OK" si el hash se crea con éxito.

Cómo obtener información de un hash

Discutamos los diversos comandos que puede usar para obtener información de un hash redis.

Para obtener el valor asociado con un campo específico, use el comando HGGE. El comando toma el nombre del campo como argumento.

Por ejemplo:

127.0.0.1: 6379> HGGE POST TÍTULO
"Hola título mundial."

El comando restaurará el valor asociado de la clave especificada.

Para obtener todas las claves en un hash, use el comando hgetall. Este comando toma la clave hash como argumento.

Considere el ejemplo que se muestra a continuación:

127.0.0.1: 6379> hgetall post
1) "Título"
2) "Hola título mundial."
3) "Post_id"
4) "1"
5) "Autor_name"
6) "Linuxhint"
7) "Publish_Date"
8) "02/02/2022"
9) "Categogria"
10) "Linux"

Como se muestra en la salida de ejemplo anterior, el comando hgetall devuelve los campos y sus valores asociados.

Si desea obtener valores de múltiples campos simultáneamente, puede usar el comando hmget. El comando toma la clave y los campos que desea recuperar como argumentos.

Eche un vistazo al ejemplo que se muestra a continuación:

127.0.0.1: 6379> hmget post post_id title autor_name
1) "1"
2) "Hola título mundial."
3) "Linuxhint"

El ejemplo anterior especifica la clave y los campos múltiples, y el comando devuelve los valores correspondientes.

Asegúrese de que exista el campo especificado; De lo contrario, Redis devolverá un valor nulo.

Supongamos que solo desea ver los campos en un hash específico pero no sus valores correspondientes? Para eso, puede usar el comando HKEYS:

127.0.0.1: 6379> Publicación de HKEYS
1) "Título"
2) "Post_id"
3) "Autor_name"
4) "Publish_date"
5) "Categogria"

En el ejemplo anterior, el comando HKEY toma la clave como argumento y devuelve todos los campos en el hash.

Del mismo modo, puede usar el comando HVALS para recuperar los valores en el hash.

127.0.0.1: 6379> Hvals Post
1) "Hola título mundial."
2) "1"
3) "Linuxhint"
4) "02/02/2022"
5) "Linux"

El comando solo devolverá los valores y no sus campos.

Para obtener un valor entero del número total de campos en el hash, use el comando HVAL.

127.0.0.1: 6379> Hlen Post
(entero) 5

El comando de ejemplo anterior muestra que el hash contiene cinco campos.

Eliminar las llaves en un hash

Para eliminar un campo de un hash específico, puede usar el comando HDEL. El comando toma campos individuales o múltiples como argumentos.

Ejemplo:

127.0.0.1: 6379> HDEL POST POST_ID TÍTULO
(entero) 2

El comando devuelve un valor entero que indica el número de campos eliminados del hash.

Si el campo no existe, el comando lo ignora y solo elimina los existentes.

Para verificar si existe un campo en el hash, use el comando hexistes.

127.0.0.1: 6379> hexists post autor_name
(entero) 1

El comando devuelve el número entero 1 si la clave existe y 0 si no.

Conclusión

El tutorial cubre comandos y ejemplos para usar al crear y trabajar con Hashes en Redis. Hay otros comandos más allá del alcance de este tutorial. Consulte la documentación para obtener más información.

Gracias por leer!