Redis Sunion

Redis Sunion

“O conjunto pode consistir em uma coleção finita de alfabetos, valores numéricos ou mesmo objetos do mundo real. Em sistemas numéricos, temos um conjunto de operações para realizar cálculos matemáticos. Da mesma forma, são necessárias operações definidas quando precisamos estabelecer um relacionamento entre dois ou mais conjuntos. Neste guia, estaremos focados apenas nas operações do sindicato definidas. O Union Set é definido como os elementos distintos que estão no conjunto A, no conjunto B, ou ambos os conjuntos A e B, onde A e B são dois dados.”

Conforme mostrado na figura acima, todos os elementos distintos pertencem ao conjunto A e Set B, ou ambos são chamados de união do conjunto A e Set B.

Redis Sets e Sunion Command

Redis In-memory Data Store suporta tipos de dados definidos para manter uma coleção de membros de string exclusivos de maneira não ordenada. Ele suporta grandes operações definidas, como união, cruzamento e diferença também. Nesta discussão, estaremos focados na operação da União em Redis Sets. O comando do sunion é usado para obter a união de determinados conjuntos. Tem complexidade do tempo linear O (n) onde n é o número de membros em todos os conjuntos.

A seguir, é a sintaxe do comando do sunão.

Sunion set_key [set_key…]

set_key: A chave associada ao conjunto.

O comando do sunion aceita mais de um conjunto. Se você especificou um único conjunto no comando, o retorno seria todos os elementos pertencentes ao conjunto especificado.

Este comando retorna outro conjunto que contém todos os membros distintos resultantes da união de determinados conjuntos, como mostrado na figura a seguir.

Caso de uso: Obtenha todos os visitantes dos sites da empresa

Vamos supor que uma empresa mantenha 3 sites para diferentes fins de marketing. Cada site tem um grande número de usuários registrados. Durante o Natal, a empresa planeja enviar vouchers de presente para todos os usuários ativos que visitaram seus 3 sites. A empresa acompanha os visitantes mensais em uma loja de dados Redis. Como eles precisam manter usuários distintos que visitam mensalmente, eles estão usando conjuntos Redis aqui.

Se o usuário A visitar o site no início deste mês será adicionado ao conjunto. Mas as seguintes visitas no mesmo mês para o usuário A não adicionarão um novo registro ao banco de dados.

Vamos criar três conjuntos com alguns IDs de usuário dummy usando o comando sadd como segue.

O primeiro conjunto, Site1: Visitantes, é usado para manter a visita do usuário ao site 1.

SADD SITE1: Visitantes "Jack" "Harry_12" "Mary4" "Saumya12" "Ricky_martin"

Em seguida, o Site2: Visitantes o conjunto será criado da seguinte maneira.

SADD SITE2: visitantes "Mary4" "Linkon"

Finalmente, o conjunto Site3: Visitantes, que detém os visitantes do site 3.

SADD SITE3: Visitantes "Linkon" "Deva" "Martin" "John12"

Vamos inspecionar cada conjunto e verificar se todos os membros foram armazenados corretamente. Usaremos o comando smembers para buscar membros por conjunto.

SMEMBERS SITE1: Visitantes
SMEMBERS SITE2: Visitantes
SMEMBERS SITE3: Visitantes

Saída

Agora a empresa precisa recuperar todos os visitantes distintos dos três sites. Esta é a união de três conjuntos que criamos pouco antes.

SUNION SITE1: Visitantes Site2: Visitantes Site3: Visitantes

Saída

Como esperado, a lista resultante contém todos os membros distintos dos três conjuntos: Site1: Visitantes, Site2: Visitantes e Site3: Visitantes.

Vamos especificar um conjunto inexistente no comando e ver a saída.

SUNION SITE1: Visitantes Site2: Visitantes Site3: Visitantes Site4

No comando acima, Site4 é um conjunto inexistente, mas não há diferença na coleção resultante de membros porque Site4 foi considerado um conjunto vazio pelo comando do sunão.

Podemos até especificar um único conjunto como o argumento definido. Nesse caso, o sindicato conterá todos os elementos no conjunto especificado.

Local de Sunsion2: Visitantes

Saída

Como esperado, o conjunto resultante contém todos os elementos de O Site2: Visitantes definir. No geral, o comando do sunão é muito útil para levar a união de vários conjuntos, o que consome um tempo considerável quando executado manualmente.

Conclusão

Para concluir, o comando do sunion pode ser usado para recuperar a união de determinados conjuntos. Este comando opera na complexidade do tempo linear e tem uma sintaxe muito simples, onde aceita apenas as chaves dos conjuntos que você precisa para obter a união. Conforme destacado nas seções acima, o comando Sunion retorna uma lista de membros resultantes da União dos Conjuntos Especificados. Finalmente, as chaves inexistentes que são especificadas no comando serão consideradas conjuntos vazios.