Operações com Conjuntos no Redis

RedisBeginner
Pratique Agora

Introdução

Neste laboratório, você explorará as operações de conjuntos do Redis, com foco na manipulação de coleções não ordenadas de strings únicas. Você aprenderá como adicionar elementos a um conjunto usando o comando SADD, realizar uniões de conjuntos com SUNION, encontrar elementos comuns usando SINTER e identificar diferenças entre conjuntos com SDIFF. Finalmente, você aprenderá como armazenar os resultados das operações de conjuntos para uso posterior.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 97%. Recebeu uma taxa de avaliações positivas de 98% dos estudantes.

Adicionar Elementos a um Conjunto com SADD

Nesta etapa, você aprenderá como adicionar elementos a um conjunto Redis usando o comando SADD. Conjuntos no Redis são coleções não ordenadas de strings únicas. Isso significa que cada elemento em um conjunto deve ser único, e a ordem em que os elementos são adicionados ao conjunto não é preservada.

O comando SADD adiciona um ou mais membros a um conjunto. Se o membro especificado já for membro do conjunto, ele será ignorado. Se o conjunto não existir, um novo conjunto é criado com o(s) membro(s) especificado(s).

Vamos começar conectando-se ao servidor Redis. Abra seu terminal e execute o seguinte comando:

redis-cli

Este comando abrirá a interface de linha de comando do Redis.

Agora, vamos adicionar alguns elementos a um conjunto chamado my_set. Execute o seguinte comando:

SADD my_set "apple" "banana" "cherry"

Este comando adicionará as strings "apple", "banana" e "cherry" ao conjunto my_set. A saída será um inteiro representando o número de elementos que foram adicionados com sucesso ao conjunto. Neste caso, a saída deve ser 3.

(integer) 3

Agora, vamos tentar adicionar um elemento que já existe no conjunto. Execute o seguinte comando:

SADD my_set "apple"

Este comando tentará adicionar a string "apple" ao conjunto my_set. No entanto, como "apple" já é um membro do conjunto, ele será ignorado. A saída será 0, indicando que nenhum novo elemento foi adicionado.

(integer) 0

Para verificar se os elementos foram adicionados ao conjunto, você pode usar o comando SMEMBERS. Execute o seguinte comando:

SMEMBERS my_set

Este comando retornará uma lista de todos os membros do conjunto my_set. A saída deve ser:

1) "cherry"
2) "banana"
3) "apple"

Observe que a ordem dos elementos na saída pode ser diferente da ordem em que foram adicionados. Isso ocorre porque os conjuntos são coleções não ordenadas.

Finalmente, saia do CLI do Redis:

exit

É importante sair do redis-cli para que seus comandos sejam registrados.

Você agora adicionou com sucesso elementos a um conjunto Redis usando o comando SADD. Esta é uma operação fundamental para trabalhar com conjuntos no Redis, e será usada nas etapas seguintes para realizar operações mais complexas.

Calcular a União com SUNION

Nesta etapa, você aprenderá como calcular a união de múltiplos conjuntos Redis usando o comando SUNION. A união de conjuntos é um novo conjunto contendo todos os elementos únicos presentes em qualquer um dos conjuntos originais.

Primeiro, vamos adicionar alguns elementos a um novo conjunto chamado my_set2. Conecte-se ao servidor Redis usando:

redis-cli

Agora, adicione elementos a my_set2:

SADD my_set2 "banana" "grape" "orange"

Este comando adiciona "banana", "grape" e "orange" a my_set2. A saída deve ser 3.

(integer) 3

Agora que temos dois conjuntos, my_set (contendo "apple", "banana", "cherry") e my_set2 (contendo "banana", "grape", "orange"), podemos calcular sua união usando o comando SUNION. Execute o seguinte comando:

SUNION my_set my_set2

Este comando retornará a união de my_set e my_set2. A saída será uma lista de todos os elementos únicos presentes em qualquer um dos conjuntos:

1) "orange"
2) "grape"
3) "apple"
4) "banana"
5) "cherry"

Observe que "banana" aparece apenas uma vez no resultado, embora esteja presente em ambos my_set e my_set2. Isso ocorre porque os conjuntos contêm apenas elementos únicos. A ordem dos elementos no resultado não é garantida.

Finalmente, saia do CLI do Redis:

exit

O comando SUNION retorna a união dos conjuntos diretamente para o cliente. Se você quiser armazenar o resultado em um novo conjunto, você pode usar o comando SUNIONSTORE, que não é abordado neste laboratório.

Nesta etapa, você aprendeu como calcular a união de múltiplos conjuntos Redis usando o comando SUNION. Esta é uma operação útil para combinar dados de múltiplos conjuntos em um único conjunto.

Calcular a Intersecção com SINTER

Nesta etapa, você aprenderá como calcular a intersecção de múltiplos conjuntos Redis usando o comando SINTER. A intersecção de conjuntos é um novo conjunto contendo apenas os elementos que estão presentes em todos os conjuntos originais.

Conecte-se ao servidor Redis usando:

redis-cli

Já temos dois conjuntos, my_set (contendo "apple", "banana", "cherry") e my_set2 (contendo "banana", "grape", "orange"). Vamos calcular sua intersecção usando o comando SINTER. Execute o seguinte comando:

SINTER my_set my_set2

Este comando retornará a intersecção de my_set e my_set2. A saída será uma lista de todos os elementos que estão presentes em ambos os conjuntos:

1) "banana"

Observe que apenas "banana" está presente em ambos my_set e my_set2. Portanto, a intersecção dos dois conjuntos é um conjunto contendo apenas "banana".

Vamos adicionar um terceiro conjunto chamado my_set3 e adicionar "banana" e "apple" a ele.

SADD my_set3 "banana" "apple"

A saída deve ser 2.

(integer) 2

Agora, vamos calcular a intersecção de my_set, my_set2 e my_set3. Execute o seguinte comando:

SINTER my_set my_set2 my_set3

Este comando retornará a intersecção de todos os três conjuntos. A saída será:

1) "banana"

Apenas "banana" está presente em todos os três conjuntos.

Finalmente, saia do CLI do Redis:

exit

O comando SINTER retorna a intersecção dos conjuntos diretamente para o cliente. Se você quiser armazenar o resultado em um novo conjunto, você pode usar o comando SINTERSTORE, sobre o qual você aprenderá mais tarde.

Nesta etapa, você aprendeu como calcular a intersecção de múltiplos conjuntos Redis usando o comando SINTER. Esta é uma operação útil para encontrar elementos comuns entre múltiplos conjuntos.

Calcular a Diferença com SDIFF

Nesta etapa, você aprenderá como calcular a diferença entre conjuntos Redis usando o comando SDIFF. A diferença entre conjuntos é um novo conjunto contendo apenas os elementos que estão presentes no primeiro conjunto, mas não em nenhum dos conjuntos subsequentes.

Conecte-se ao servidor Redis usando:

redis-cli

Temos três conjuntos: my_set (contendo "apple", "banana", "cherry"), my_set2 (contendo "banana", "grape", "orange") e my_set3 (contendo "banana", "apple"). Vamos calcular a diferença entre my_set e my_set2 usando o comando SDIFF. Execute o seguinte comando:

SDIFF my_set my_set2

Este comando retornará a diferença entre my_set e my_set2. A saída será uma lista de todos os elementos que estão presentes em my_set mas não em my_set2:

1) "apple"
2) "cherry"

"apple" e "cherry" estão em my_set mas não em my_set2. "banana" está em ambos os conjuntos, então não está incluído no resultado.

Agora, vamos calcular a diferença entre my_set e ambos my_set2 e my_set3. Execute o seguinte comando:

SDIFF my_set my_set2 my_set3

Este comando retornará a diferença entre my_set e a união de my_set2 e my_set3. A saída será:

1) "cherry"

"apple" está em my_set mas também em my_set3, então é excluído. "banana" está em my_set mas também em my_set2 e my_set3, então é excluído. Apenas "cherry" está exclusivamente em my_set.

Finalmente, saia do CLI do Redis:

exit

O comando SDIFF retorna a diferença dos conjuntos diretamente para o cliente. Se você quiser armazenar o resultado em um novo conjunto, você pode usar o comando SDIFFSTORE (não coberto neste laboratório).

Nesta etapa, você aprendeu como calcular a diferença entre conjuntos Redis usando o comando SDIFF. Esta é uma operação útil para encontrar elementos que são exclusivos de um conjunto específico.

Armazenar Resultados com SINTERSTORE

Nesta etapa, você aprenderá como armazenar o resultado de uma operação de intersecção em um novo conjunto usando o comando SINTERSTORE. Isso é útil quando você deseja realizar operações adicionais na intersecção de conjuntos sem recalculá-la toda vez.

Conecte-se ao servidor Redis usando:

redis-cli

Temos três conjuntos: my_set (contendo "apple", "banana", "cherry"), my_set2 (contendo "banana", "grape", "orange") e my_set3 (contendo "banana", "apple"). Na etapa anterior, calculamos a intersecção desses conjuntos e descobrimos que apenas "banana" estava presente em todos os três.

Agora, vamos armazenar o resultado da intersecção de my_set, my_set2 e my_set3 em um novo conjunto chamado intersection_set usando o comando SINTERSTORE. Execute o seguinte comando:

SINTERSTORE intersection_set my_set my_set2 my_set3

Este comando calculará a intersecção de my_set, my_set2 e my_set3 e armazenará o resultado em um novo conjunto chamado intersection_set. A saída será um inteiro representando o número de elementos no conjunto resultante. Neste caso, a saída deve ser 1, porque a intersecção contém apenas um elemento ("banana").

(integer) 1

Para verificar se a intersecção foi armazenada corretamente, você pode usar o comando SMEMBERS para visualizar os membros do intersection_set. Execute o seguinte comando:

SMEMBERS intersection_set

Este comando retornará uma lista de todos os membros do conjunto intersection_set. A saída deve ser:

1) "banana"

Isso confirma que a intersecção de my_set, my_set2 e my_set3 foi armazenada com sucesso no intersection_set.

Finalmente, saia do CLI do Redis:

exit

Nesta etapa, você aprendeu como armazenar o resultado de uma operação de intersecção em um novo conjunto usando o comando SINTERSTORE. Isso permite que você reutilize o resultado da intersecção em operações subsequentes sem ter que recalculá-lo.

Resumo

Neste laboratório, você aprendeu como adicionar elementos a um conjunto Redis usando o comando SADD. Conjuntos Redis são coleções não ordenadas de strings únicas, o que significa que cada elemento deve ser único e a ordem não é preservada.

O comando SADD adiciona um ou mais membros a um conjunto, ignorando duplicatas. O laboratório demonstrou a adição de elementos a um conjunto, observando o valor de retorno indicando o número de elementos adicionados e verificando o conteúdo do conjunto usando SMEMBERS. A ordem de saída de SMEMBERS pode diferir da ordem de inserção devido à natureza não ordenada dos conjuntos. Você também aprendeu como calcular uniões de conjuntos com SUNION, encontrar elementos comuns usando SINTER, identificar diferenças entre conjuntos com SDIFF e armazenar os resultados de operações de conjuntos para uso posterior com SINTERSTORE. Lembre-se de sair do redis-cli após cada etapa para garantir que seus comandos sejam registrados.