Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Gestione degli Interessi degli Utenti | Tipi di Dati in Redis
Introduzione a Redis

bookSfida: Gestione degli Interessi degli Utenti

Immagina di sviluppare una funzionalità per un'applicazione che tiene traccia degli interessi degli utenti. Le informazioni su ciascun utente sono memorizzate in Redis come un set. Ogni utente possiede una raccolta unica di interessi.

  1. Aggiungere gli interessi di ciascun utente ai rispettivi set:

    • user:1:interests: "music", "movies", "sports";
    • user:2:interests: "sports", "travel", "reading";
    • user:3:interests: "reading", "music", "cooking".
  2. Verificare se Utente 1 è interessato a "travel" e se Utente 2 è interessato a "sports";

  3. Identificare gli interessi comuni tra Utente 1 e Utente 2;

  4. Trovare gli interessi di Utente 1 che non sono condivisi da Utente 2;

  5. Creare un elenco di tutti gli interessi unici condivisi da Utente 1, Utente 2 e Utente 3;

  6. Utente 3 non è più interessato a "music." Rimuovere questo interesse dal suo set;

  7. Visualizzare l'elenco degli interessi di ciascun utente dopo aver eseguito queste operazioni.

1. Aggiungere interessi per ogni utente ai rispettivi set:

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

2. Verificare se un determinato interesse esiste nel set di un utente:

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

3. Recuperare gli interessi condivisi tra due utenti:

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

4. Ottenere gli interessi di un utente che non sono condivisi da un altro:

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

5. Creare un elenco completo di interessi unici da tutti gli utenti:

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

6. Eliminare un interesse dal set di un utente:

SREM user:3:interests "music"

7. Recuperare i set aggiornati di interessi per ciascun utente:

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

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 5

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain what each Redis command does in this context?

How can I modify a user's interests if they gain a new interest?

What happens if I try to remove an interest that doesn't exist in a user's set?

Awesome!

Completion rate improved to 3.33

bookSfida: Gestione degli Interessi degli Utenti

Scorri per mostrare il menu

Immagina di sviluppare una funzionalità per un'applicazione che tiene traccia degli interessi degli utenti. Le informazioni su ciascun utente sono memorizzate in Redis come un set. Ogni utente possiede una raccolta unica di interessi.

  1. Aggiungere gli interessi di ciascun utente ai rispettivi set:

    • user:1:interests: "music", "movies", "sports";
    • user:2:interests: "sports", "travel", "reading";
    • user:3:interests: "reading", "music", "cooking".
  2. Verificare se Utente 1 è interessato a "travel" e se Utente 2 è interessato a "sports";

  3. Identificare gli interessi comuni tra Utente 1 e Utente 2;

  4. Trovare gli interessi di Utente 1 che non sono condivisi da Utente 2;

  5. Creare un elenco di tutti gli interessi unici condivisi da Utente 1, Utente 2 e Utente 3;

  6. Utente 3 non è più interessato a "music." Rimuovere questo interesse dal suo set;

  7. Visualizzare l'elenco degli interessi di ciascun utente dopo aver eseguito queste operazioni.

1. Aggiungere interessi per ogni utente ai rispettivi set:

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

2. Verificare se un determinato interesse esiste nel set di un utente:

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

3. Recuperare gli interessi condivisi tra due utenti:

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

4. Ottenere gli interessi di un utente che non sono condivisi da un altro:

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

5. Creare un elenco completo di interessi unici da tutti gli utenti:

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

6. Eliminare un interesse dal set di un utente:

SREM user:3:interests "music"

7. Recuperare i set aggiornati di interessi per ciascun utente:

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

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 5
some-alt