Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Desafio: Gerenciamento de Interesses do Usuário | Tipos de Dados no Redis
Introdução ao Redis

bookDesafio: Gerenciamento de Interesses do Usuário

Imagine que você está desenvolvendo um recurso para um aplicativo que rastreia interesses dos usuários. As informações sobre cada usuário são armazenadas no Redis como um conjunto. Cada usuário possui uma coleção única de interesses.

  1. Adicione os interesses de cada usuário aos seus respectivos conjuntos:

    • user:1:interests: "music", "movies", "sports";
    • user:2:interests: "sports", "travel", "reading";
    • user:3:interests: "reading", "music", "cooking".
  2. Verifique se o Usuário 1 tem interesse em "travel" e se o Usuário 2 tem interesse em "sports";

  3. Identifique os interesses em comum entre o Usuário 1 e o Usuário 2;

  4. Encontre os interesses do Usuário 1 que não são compartilhados pelo Usuário 2;

  5. Crie uma lista de todos os interesses únicos compartilhados entre Usuário 1, Usuário 2 e Usuário 3;

  6. O Usuário 3 deixou de ter interesse em "music". Remova esse interesse do seu conjunto;

  7. Exiba a lista de interesses de cada usuário após realizar essas operações.

1. Adicionar interesses para cada usuário em seus respectivos conjuntos:

SADD user:1:interests "music" "movies" "sports"
SADD user:2:interests "sports" "travel" "reading"
SADD user:3:interests "reading" "music" "cooking"

2. Verificar se um interesse específico existe no conjunto de um usuário:

SISMEMBER user:1:interests "travel"    # result: 0 (User 1 is not interested)
SISMEMBER user:2:interests "sports"   # result: 1 (User 2 is interested)

3. Recuperar interesses compartilhados entre dois usuários:

SINTER user:1:interests user:2:interests   # result: ["sports"]

4. Obter interesses de um usuário que não são compartilhados por outro:

SDIFF user:1:interests user:2:interests   # result: ["music", "movies"]

5. Criar uma lista completa de interesses únicos de todos os usuários:

SUNION user:1:interests user:2:interests user:3:interests   # result: ["music", "movies", "sports", "travel", "reading", "cooking"]

6. Remover um interesse do conjunto de um usuário:

SREM user:3:interests "music"

7. Recuperar os conjuntos de interesses atualizados para cada usuário:

SMEMBERS user:1:interests   # result: ["music", "movies", "sports"]
SMEMBERS user:2:interests   # result: ["sports", "travel", "reading"]
SMEMBERS user:3:interests   # result: ["reading", "cooking"]

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 3.33

bookDesafio: Gerenciamento de Interesses do Usuário

Deslize para mostrar o menu

Imagine que você está desenvolvendo um recurso para um aplicativo que rastreia interesses dos usuários. As informações sobre cada usuário são armazenadas no Redis como um conjunto. Cada usuário possui uma coleção única de interesses.

  1. Adicione os interesses de cada usuário aos seus respectivos conjuntos:

    • user:1:interests: "music", "movies", "sports";
    • user:2:interests: "sports", "travel", "reading";
    • user:3:interests: "reading", "music", "cooking".
  2. Verifique se o Usuário 1 tem interesse em "travel" e se o Usuário 2 tem interesse em "sports";

  3. Identifique os interesses em comum entre o Usuário 1 e o Usuário 2;

  4. Encontre os interesses do Usuário 1 que não são compartilhados pelo Usuário 2;

  5. Crie uma lista de todos os interesses únicos compartilhados entre Usuário 1, Usuário 2 e Usuário 3;

  6. O Usuário 3 deixou de ter interesse em "music". Remova esse interesse do seu conjunto;

  7. Exiba a lista de interesses de cada usuário após realizar essas operações.

1. Adicionar interesses para cada usuário em seus respectivos conjuntos:

SADD user:1:interests "music" "movies" "sports"
SADD user:2:interests "sports" "travel" "reading"
SADD user:3:interests "reading" "music" "cooking"

2. Verificar se um interesse específico existe no conjunto de um usuário:

SISMEMBER user:1:interests "travel"    # result: 0 (User 1 is not interested)
SISMEMBER user:2:interests "sports"   # result: 1 (User 2 is interested)

3. Recuperar interesses compartilhados entre dois usuários:

SINTER user:1:interests user:2:interests   # result: ["sports"]

4. Obter interesses de um usuário que não são compartilhados por outro:

SDIFF user:1:interests user:2:interests   # result: ["music", "movies"]

5. Criar uma lista completa de interesses únicos de todos os usuários:

SUNION user:1:interests user:2:interests user:3:interests   # result: ["music", "movies", "sports", "travel", "reading", "cooking"]

6. Remover um interesse do conjunto de um usuário:

SREM user:3:interests "music"

7. Recuperar os conjuntos de interesses atualizados para cada usuário:

SMEMBERS user:1:interests   # result: ["music", "movies", "sports"]
SMEMBERS user:2:interests   # result: ["sports", "travel", "reading"]
SMEMBERS user:3:interests   # result: ["reading", "cooking"]

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 5
some-alt