Redis Scard

Redis Scard
Conjuntos Redis são coleções não ordenadas de strings que não contêm duplicatas. Estes são muito parecidos com os hashsets java, conjuntos de python, etc. Mais importante ainda, operações fundamentais, como adicionar, remover e verificar a existência de um membro, são altamente eficientes porque operam em O (1) complexidade do tempo.

Membros de um conjunto

Como mencionado, os conjuntos Redis contêm itens exclusivos de string. Os itens já existentes não serão aceitos pelos conjuntos de Redis e serão ignorados. Além disso, um único conjunto pode acomodar até 4 bilhões de seqüências únicas.

A natureza do conjunto de Redis de manter membros únicos é útil em vários casos de uso do mundo real.

  • Capacidade de executar operações de conjunto padrão como união, interseção e diferença.
  • Rastreando visitantes únicos em um site
  • Representar relações de entidade no mundo real

O comando scard

O comando scard, abrevante para a cardinalidade definida, retorna o número de membros em um conjunto armazenado em uma determinada chave. Ele opera na complexidade do tempo O (1), o que significa que o tempo que o comando scard leva para executar não depende do número de membros no conjunto especificado. Sempre leva um tempo constante.

O comando scard tem uma sintaxe muito simples, como mostrado no seguinte.

Scard set_key

set_key: A chave do conjunto Redis

Este comando retorna um valor inteiro que é o número de membros no conjunto.

Caso de uso - conte os visitantes únicos em um site

Suponha que uma empresa de pizza "Yummypizza" mantém um site chamado Yummypizza.com onde as pessoas podem pedir pizza online. Para acompanhar suas vendas e base de clientes, eles mantêm um banco de dados Redis para armazenar todos os visitantes únicos do site a cada mês.

Sempre que um usuário visita o site Yummypizza, o ID do usuário deve ser adicionado ao banco de dados Redis. Além disso, o mesmo usuário não deve ser adicionado ao banco de dados também. Portanto, a estrutura de dados ideal é o conjunto Redis, onde os conjuntos armazenam apenas membros exclusivos.

Vamos supor que cinco usuários visitaram o site, e esses membros são adicionados ao banco de dados Redis, conforme mostrado no seguinte.

Sadd yummypizzavisitores: outubro John Mary Raza Stoinis Prince

Como esperado, o número inteiro 5 foi devolvido, o que significa que os cinco membros são adicionados ao conjunto armazenado na chave "Yummypizzavisitores: outubro.

No final do dia, os administradores da empresa precisam verificar o número total de visitantes únicos no site. Então, a cardinalidade definida precisa ser calculada. Felizmente, o comando scard discutido anteriormente é útil nesse tipo de cenário.

Vamos executar o comando scard no conjunto armazenado em chave "Yummypizzavisitores: outubro.

Scard Yummypizzavisitores: outubro

A saída é 5, o que significa que cinco membros únicos estão no conjunto especificado. Este comando é executado muito rápido. Não importa cinco membros ou 50000 membros; O tempo de execução será constante.

Suponha que a tecla Set especificada não exista no banco de dados Redis. Então, a saída será 0, como mostrado no exemplo a seguir. Nesse caso, vamos especificar uma chave que não esteja no banco de dados.

SCARD NÃO ENCONTRANTECIMENTO

Conclusão

Para resumir, o Redis Set é um candidato ideal para armazenar strings exclusivos. Conforme discutido, a coisa mais importante sobre o conjunto de Redis é que a maioria das operações de conjunto associado leva um tempo constante para executar. O comando scard é um dos comandos de set mais usados ​​para calcular o número total de membros do conjunto para um determinado conjunto armazenado em uma chave especificada. Não importa quantos membros do conjunto estejam disponíveis, este comando leva tempo constante para fornecer a saída. Conforme mostrado no último exemplo, se a tecla Definir não existir, a saída será 0.