Redis Hash Fields
Os hashes são um tipo de dados popular nas lojas Redis, porque podem representar de forma abrangente objetos do mundo real. Objetos do mundo real contêm campos atribuíveis aos valores, como mostrado no seguinte.
Em Redis, os pares de nomes da estrutura de dados de hashmap. Um par de nomes-valor pode ser identificado como um campo em uma entidade do mundo real. Vamos mapear a instância do funcionário acima para um hash redis.
No exemplo acima, temos a chave Redis de nível superior “Funcionário: 1”, Onde armazenamos nosso hash. Existem quatro campos de hash representando quatro atributos do objeto do funcionário. Redis Hashes pode armazenar mais de 4 bilhões de campos de hash que são mais do que suficientes para representar seus objetos. O melhor é que ainda é preciso espaço mínimo na sua instância de banco de dados Redis. É mais eficiente manter 1000 campos de hash dentro de 10 teclas Redis de nível superior para armazenar 10000 dados de valor-chave do que para armazenar essa quantidade de dados em 10000 chaves redis de nível superior.
Comando Redis Hlen
Em algumas aplicações, é necessário contar o número de propriedades ou campos disponíveis para um determinado objeto. Se for armazenado em um hash redis, é um comando para recuperar o número de campos de hash na chave especificada. O "Hlen”O comando pode ser usado para contar o número de campos de hash contidos em um determinado hash.
Sintaxe
1 | Hlen hash_key |
chave de hash: Esta é a chave Redis de nível superior em que o hash foi armazenado.
Este comando retorna um valor inteiro, que é o número de campos de hash armazenados em uma determinada chave. Quando o hash_key não existir, este comando retornará 0. Este comando tem complexidade de tempo constante o (1), que o motiva a usá-lo em aplicativos de alto desempenho.
Exemplo - Contando o número de itens em um carrinho de compras
Vamos supor que estamos usando o banco de dados Redis para armazenar itens de carrinho de compras. A idéia é identificar cada cliente com uma chave Redis. Cada Redis Key armazena vários campos de hash que representam um item de carrinho de compras. O objeto de item do carrinho de compras seria o seguinte.
Podemos usar o comando hset para adicionar alguns itens de carrinho para “Cliente: 1”.
1 | Cliente hset: 1 maçã 10 cerveja 5 leite 2 |
Agora o cliente: 1 Objeto deve parecer o seguinte.
Existem 3 campos armazenados no Chave “Cliente: 1”. Usaremos o comando hlen para contar o número de campos na tecla "Cliente: 1".
1 | HLEN CLIENTE: 1 |
Saída:
A saída é 3, como esperado.
Vamos excluir o campo de "cerveja" no Cliente: 1 chave. O comando hdel pode ser usado para excluir um campo de uma determinada chave.
1 | Cliente de Hdel: 1 cerveja |
Agora podemos verificar os campos de hash existentes executando o comando hgetall.
1 | HGETALL CLIENTE: 1 |
Saída:
O campo "Beer: 5" foi excluído com sucesso. Vamos contar o número de campos novamente usando o comando hlen.
1 | HLEN CLIENTE: 1 |
Como temos apenas dois campos de hash restantes na chave "Cliente: 1", a saída deve ser 2.
Saída:
Recomenda -se usar o comando hlen quando houver um requisito para contar o número de campos de hash armazenados em uma determinada chave. É um comando muito rápido e fácil de usar em seus aplicativos baseados em Redis.
Vamos verificar a saída para a chave de inexistência também.
1 | HLEN INEXISTENCE-CHAY |
Saída:
A saída é 0, como esperado.
Conclusão
Redis pode armazenar diferentes tipos de estruturas de dados para uma chave específica. Os hashes são uma das estruturas de dados mais populares usadas nos bancos de dados Redis. Os hashes podem ser usados para representar e manipular objetos e dados simples de maneira eficaz. Redis suporta várias operações de hash. O HLEN pode ser usado para contar o número de campos de hash armazenados em uma determinada chave Redis. Geralmente, ele retorna um número inteiro que é a contagem dos campos de hash. Se a tecla Redis não existir, ela retornará 0. É muito rápido, pois não precisamos realizar uma operação de leitura separada.