Operações HyperLogLog no Redis

RedisBeginner
Pratique Agora

Introdução

Neste laboratório, você explorará as operações do Redis HyperLogLog. HyperLogLog é uma estrutura de dados poderosa no Redis que permite estimar o número de elementos únicos em um conjunto, mesmo com conjuntos de dados muito grandes. Isso é conhecido como estimativa de cardinalidade (cardinality estimation). Você aprenderá a usar PFADD para adicionar itens, PFCOUNT para contar itens únicos e PFMERGE para mesclar HyperLogLogs. Este laboratório fornecerá experiência prática no rastreamento eficiente de usuários únicos.

Adicionando Itens com PFADD

Nesta etapa, você aprenderá como adicionar itens a um HyperLogLog usando o comando PFADD. Se o HyperLogLog não existir, PFADD o criará automaticamente.

Entendendo PFADD

O comando PFADD adiciona um ou mais elementos a um HyperLogLog.

Sintaxe:

PFADD key element [element ...]
  • key: O nome do HyperLogLog.
  • element: O(s) elemento(s) a serem adicionados ao HyperLogLog.

Exemplo:

Primeiro, conecte-se ao servidor Redis usando o comando redis-cli em seu terminal:

redis-cli

Agora, vamos criar um HyperLogLog chamado myhyperloglog e adicionar alguns itens a ele.

PFADD myhyperloglog item1 item2 item3

Você deve ver a seguinte saída:

(integer) 1

A resposta (integer) 1 indica que pelo menos um elemento foi adicionado ao HyperLogLog. Não significa necessariamente que todos os elementos eram novos (únicos).

Lembre-se de sair do redis-cli após executar o comando:

exit

Prática:

  1. Conecte-se ao servidor Redis usando redis-cli.
  2. Crie um HyperLogLog chamado users.
  3. Adicione os seguintes IDs de usuário ao HyperLogLog users: user1, user2, user3, user4, user5.
  4. Saia do redis-cli.
PFADD users user1 user2 user3 user4 user5
exit

Na próxima etapa, você aprenderá como estimar o número de usuários únicos usando o comando PFCOUNT.

Contando Itens Únicos com PFCOUNT

Nesta etapa, você aprenderá como usar o comando PFCOUNT para estimar o número de itens únicos em um HyperLogLog.

Entendendo PFCOUNT

O comando PFCOUNT retorna uma aproximação da cardinalidade (número de elementos únicos) do conjunto observado pelo HyperLogLog. É importante lembrar que o HyperLogLog fornece uma estimativa, não uma contagem exata.

Sintaxe:

PFCOUNT key
  • key: O nome do HyperLogLog.

Exemplo:

Continuando da etapa anterior, vamos estimar o número de usuários únicos no HyperLogLog users.

Conecte-se ao servidor Redis usando redis-cli:

redis-cli

Agora, use o comando PFCOUNT:

PFCOUNT users

Você deve ver uma saída semelhante a esta:

(integer) 5

A saída (integer) 5 indica que o HyperLogLog estima que há aproximadamente 5 usuários únicos no HyperLogLog users.

Saia do redis-cli:

exit

Prática:

  1. Conecte-se ao servidor Redis usando redis-cli.
  2. Use o comando PFCOUNT para estimar o número de usuários únicos no HyperLogLog users.
  3. Saia do redis-cli.
PFCOUNT users
exit

Agora, vamos adicionar mais usuários ao HyperLogLog users, incluindo um duplicado, e então recontar.

redis-cli
PFADD users user3 user6 user7
PFCOUNT users
exit

Na próxima etapa, você aprenderá como mesclar HyperLogLogs.

Unindo HyperLogLogs com PFMERGE

Nesta etapa, você aprenderá como mesclar múltiplos HyperLogLogs em um único HyperLogLog usando o comando PFMERGE. Isso é útil quando você tem dados distribuídos em vários HyperLogLogs e deseja obter uma estimativa do total de elementos únicos.

Entendendo PFMERGE

O comando PFMERGE mescla múltiplos HyperLogLogs em um HyperLogLog de destino. O HyperLogLog de destino conterá a união dos elementos de todos os HyperLogLogs de origem.

Sintaxe:

PFMERGE destkey sourcekey [sourcekey ...]
  • destkey: O nome do HyperLogLog de destino (onde o resultado mesclado será armazenado). Se não existir, será criado. Se existir, será sobrescrito.
  • sourcekey: O(s) nome(s) dos HyperLogLogs de origem a serem mesclados.

Exemplo:

Vamos criar um novo HyperLogLog chamado new_users e adicionar alguns usuários a ele.

redis-cli
PFADD new_users user8 user9 user10
exit

Agora, vamos mesclar os HyperLogLogs users e new_users em um novo HyperLogLog chamado all_users.

redis-cli
PFMERGE all_users users new_users

Você deve ver a seguinte saída:

OK

A resposta OK indica que a operação de mesclagem foi bem-sucedida.

Agora, vamos estimar o número de usuários únicos no HyperLogLog all_users:

PFCOUNT all_users
exit

Você deve ver uma saída semelhante a esta:

(integer) 7

A saída (integer) 7 indica que o HyperLogLog estima que há aproximadamente 7 usuários únicos no HyperLogLog all_users mesclado.

Prática:

  1. Conecte-se ao servidor Redis usando redis-cli.
  2. Use o comando PFMERGE para mesclar os HyperLogLogs users e new_users em um novo HyperLogLog chamado all_users.
  3. Use o comando PFCOUNT para estimar o número de usuários únicos no HyperLogLog all_users.
  4. Saia do redis-cli.
PFMERGE all_users users new_users
PFCOUNT all_users
exit

Isso completa o laboratório sobre o uso de HyperLogLogs no Redis. Você aprendeu como adicionar itens, contar itens únicos e mesclar HyperLogLogs.

Resumo

Neste laboratório, você aprendeu como usar o comando PFADD no Redis para adicionar elementos a uma estrutura de dados HyperLogLog. O comando PFADD atualiza eficientemente o HyperLogLog para estimar a cardinalidade de um conjunto, sem armazenar os próprios elementos. Você também aprendeu como usar PFCOUNT para estimar a cardinalidade de um HyperLogLog e PFMERGE para mesclar múltiplos HyperLogLogs em um só. Isso fornece uma maneira poderosa e eficiente de rastrear elementos únicos em grandes conjuntos de dados.