Como usar o Redis Hset

Como usar o Redis Hset
Um hash em redis é um tipo de dados usado para armazenar um mapeamento entre uma chave e um valor. Redis Hashes são adequados para manter objetos de dados complexos, pois podem manter vários pares de valor-chave com pouco espaço.

Exemplo de uso de um hash redis é armazenar informações sobre uma postagem. Um hash pode ser usado para armazenar informações como post_id, autor_name, publish_data, categoria e mais.

Os hashes são um dos tipos de dados fundamentais e se você é novo no redis ou um profissional experiente, saber como trabalhar com hashes pode ser muito benéfico.

A essência deste tutorial é fornecer o conhecimento fundamental para trabalhar com hashes em redis.

Neste guia, usamos a versão mais recente do servidor Redis em execução em um sistema Debian 11. Embora você não precise replicar esse ambiente, recomendamos o uso da CLI nativa Redis CLI. Usando o Redis CLI garantirá que você obtenha saídas semelhantes que este guia.

Como criar um hash

A primeira coisa que aprenderemos é como criar um hash em redis.

Abra o Redis CLI e use o comando hset para criar um hash. O comando leva o nome da chave de hash, o campo e o valor como seus argumentos.

Veja o exemplo mostrado abaixo:

127.0.0.1: 6379> título da postagem hset "Hello World Title."
(Inteiro) 1

O comando acima cria um hash com a chave de postagem e um campo de título e seu valor correspondente.

O comando retorna um número inteiro 1 se o hash for criado com sucesso.

É bom garantir que você forneça todos os argumentos no comando hset para evitar erros. Por exemplo, o comando a seguir retorna um erro como um argumento está faltando no comando:

127.0.0.1: 6379> hset post post_id

(Erro) Número errado de argumentos para 'hset' comando

Nota: Se você executar o comando hset onde já existe um hash, Redis substituirá o conteúdo do antigo hash com o novo.

Por exemplo, dê uma olhada no comando abaixo:

127.0.0.1: 6379> título do post hset "título substituído."
(Inteiro) 0

Nesse caso, o comando hset retorna um número inteiro 0 se o valor especificado for atualizado com sucesso.

Para criar vários campos e seus valores correspondentes em um único comando, use o comando hmset.

Por exemplo:

127.0.0.1: 6379> hmset post post_id 1 título "Hello world title."Author_name" Linuxhint "Publish_date" 02/02/2022 "Categpgry" Linux "
OK

O comando retorna a string "ok" se o hash for criado com sucesso.

Como buscar informações de um hash

Vamos discutir os vários comandos que você pode usar para buscar informações de um hash redis.

Para obter o valor associado a um campo específico, use o comando hget. O comando assume o nome de campo como o argumento.

Por exemplo:

127.0.0.1: 6379> HGET POST TITLE
"Hello World Title."

O comando restaurará o valor associado da chave especificada.

Para obter todas as chaves em um hash, use o comando hgetall. Este comando leva a chave do hash como o argumento.

Considere o exemplo mostrado abaixo:

127.0.0.1: 6379> HGETALL POST
1) "Título"
2) "Hello World Title."
3) "post_id"
4) "1"
5) "Author_name"
6) "Linuxhint"
7) "Publish_date"
8) "02/02/2022"
9) "Categoria"
10) "Linux"

Conforme mostrado na saída de exemplo acima, o comando hgetall retorna os campos e seus valores associados.

Se você deseja buscar valores de vários campos simultaneamente, você pode usar o comando hmget. O comando pega a chave e os campos que você deseja recuperar como os argumentos.

Dê uma olhada no exemplo mostrado abaixo:

127.0.0.1: 6379> hmget post post_id título autor_name
1) "1"
2) "Hello World Title."
3) "Linuxhint"

O exemplo acima especifica a chave e vários campos, e o comando retorna os valores correspondentes.

Verifique se o campo especificado existe; Caso contrário, Redis retornará um valor nulo.

Suponha que você só queira ver os campos em um hash específico, mas não seus valores correspondentes? Para isso, você pode usar o comando HKEYS:

127.0.0.1: 6379> HKEYS POST
1) "Título"
2) "post_id"
3) "Author_name"
4) "Publish_date"
5) "Categoria"

No exemplo acima, o comando hkey toma a chave como argumento e retorna todos os campos no hash.

Da mesma forma, você pode usar o comando HVALS para recuperar os valores no hash.

127.0.0.1: 6379> HVALS POST
1) "Hello World Title."
2) "1"
3) "Linuxhint"
4) "02/02/2022"
5) "Linux"

O comando retornará apenas os valores e não seus campos.

Para obter um valor inteiro do número total de campos no hash, use o comando hval.

127.0.0.1: 6379> HLEN POST
(Inteiro) 5

O comando de exemplo acima mostra que o hash contém cinco campos.

Excluindo chaves em um hash

Para remover um campo de um hash específico, você pode usar o comando hdel. O comando leva campos únicos ou múltiplos como argumentos.

Exemplo:

127.0.0.1: 6379> HDEL POST POST_ID Título
(Inteiro) 2

O comando retorna um valor inteiro indicando o número de campos removidos do hash.

Se o campo não existir, o comando o ignora e apenas remove os existentes.

Para verificar se existe um campo no hash, use o comando Hexists.

127.0.0.1: 6379> Hexists Post Author_name
(Inteiro) 1

O comando retorna inteiro 1 se a chave existir e 0 se não.

Conclusão

O tutorial abrange comandos e exemplos a serem usados ​​ao criar e trabalhar com hashes em redis. Existem outros comandos além do escopo deste tutorial. Verifique a documentação para saber mais.

Obrigado pela leitura!