Dando continuidade à apresentação dos tipos de dados do Redis, vamos nesse post falar sobre: SET, HASH e ZSET.
- SET → São coleções não ordenadas de Strings que possuem um grande diferencial, não admitem guardar membros repetidos. Isso torna desnecessário checar se um determinado elemento já existe na coleção antes de inserir, mesmo que forem inseridas várias vezes um mesmo elemento, apenas uma cópia será guardada.
Suportam operações rápidas de união, interseção e também de diferença entre coleções. O número máximo de membros num SET é 232 - 1 (4294967295, mais do que 4 bilhões de membros por SET).
Ambiente de testes do MVJ-UFS |
A figura abaixo ilustra a não repetição de elementos reinseridos e a união entre duas listas. Uma lista completa de comandos para SET está disponível aqui.
- HASH → Hashes no Redis são mapas entre campos e valores de Strings. São o tipo de dado perfeito para armazenar objetos, como o objeto "aluno" com campos como: nome, telefone, idade, matrícula, etc.
Um hash com poucos campos (de um a cem por exemplo) é guardado de maneira a ocupar pouco espaço, o que torna possível guardar milhões de objetos numa simples instância. Cada hash pode guardar até 232 - 1 pares campo-valor (mais do que 4 bilhões).
Ambiente de testes do MVJ-UFS |
A figura acima mostra o uso dos comandos: HEXISTS (verifica a existência de um atributo), HLEN (verifica o tamanho de uma HASH), HMSET (guarda uma HASH com vários atributos), HKEY (mostra todos os campos de uma HASH), HGETALL (lista campos e vlaores) e HMGET (seleciona campos para retornar o valor). Outros comandos podem ser encontrados aqui.
- ZSET → São bastante similares ao tipo SET, a diferença é que cada membro da coleção recebe um "score" que ajuda a ordenar a coleção do menor ao maior "score". São o tipo de dado mais avançado no Redis, proporciona grande velocidade de retorno de buscas e atualização de banco. Uma lista completa de ações que podem ser realizadas com ZSET está disponível aqui. A figura abaixo ilustra alguns desses comandos: ZADD para adicionar score+membros numa lista ordenada, SRANK para retornar a posição de um membro (maior RANK = maior score) e ZSCORE retorna um score de um membro.
Ambiente de testes do MVJ-UFS |
Nenhum comentário:
Postar um comentário