Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Gestion des Intérêts des Utilisateurs | Types de Données dans Redis
Introduction à Redis

bookDéfi : Gestion des Intérêts des Utilisateurs

Imaginez que vous développez une fonctionnalité pour une application qui suit les centres d'intérêt des utilisateurs. Les informations concernant chaque utilisateur sont stockées dans Redis sous forme d'un ensemble. Chaque utilisateur possède une collection unique de centres d'intérêt.

  1. Ajouter les centres d'intérêt de chaque utilisateur à leurs ensembles respectifs :

    • user:1:interests : "music", "movies", "sports";
    • user:2:interests : "sports", "travel", "reading";
    • user:3:interests : "reading", "music", "cooking".
  2. Vérifier si Utilisateur 1 s'intéresse à "travel" et si Utilisateur 2 s'intéresse à "sports" ;

  3. Identifier les centres d'intérêt communs de Utilisateur 1 et Utilisateur 2 ;

  4. Trouver les centres d'intérêt de Utilisateur 1 qui ne sont pas partagés par Utilisateur 2 ;

  5. Créer une liste de tous les centres d'intérêt uniques partagés par Utilisateur 1, Utilisateur 2 et Utilisateur 3 ;

  6. Utilisateur 3 n'est plus intéressé par "music". Supprimer ce centre d'intérêt de son ensemble ;

  7. Afficher la liste des centres d'intérêt de chaque utilisateur après avoir effectué ces opérations.

1. Ajouter les centres d'intérêt de chaque utilisateur à leurs ensembles respectifs :

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

2. Vérifier si un centre d'intérêt spécifique existe dans l'ensemble d'un utilisateur :

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

3. Récupérer les centres d'intérêt partagés entre deux utilisateurs :

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

4. Obtenir les centres d'intérêt d'un utilisateur qui ne sont pas partagés par un autre :

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

5. Créer une liste complète des centres d'intérêt uniques de tous les utilisateurs :

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

6. Supprimer un centre d'intérêt de l'ensemble d'un utilisateur :

SREM user:3:interests "music"

7. Récupérer les ensembles de centres d'intérêt mis à jour pour chaque utilisateur :

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

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 3.33

bookDéfi : Gestion des Intérêts des Utilisateurs

Glissez pour afficher le menu

Imaginez que vous développez une fonctionnalité pour une application qui suit les centres d'intérêt des utilisateurs. Les informations concernant chaque utilisateur sont stockées dans Redis sous forme d'un ensemble. Chaque utilisateur possède une collection unique de centres d'intérêt.

  1. Ajouter les centres d'intérêt de chaque utilisateur à leurs ensembles respectifs :

    • user:1:interests : "music", "movies", "sports";
    • user:2:interests : "sports", "travel", "reading";
    • user:3:interests : "reading", "music", "cooking".
  2. Vérifier si Utilisateur 1 s'intéresse à "travel" et si Utilisateur 2 s'intéresse à "sports" ;

  3. Identifier les centres d'intérêt communs de Utilisateur 1 et Utilisateur 2 ;

  4. Trouver les centres d'intérêt de Utilisateur 1 qui ne sont pas partagés par Utilisateur 2 ;

  5. Créer une liste de tous les centres d'intérêt uniques partagés par Utilisateur 1, Utilisateur 2 et Utilisateur 3 ;

  6. Utilisateur 3 n'est plus intéressé par "music". Supprimer ce centre d'intérêt de son ensemble ;

  7. Afficher la liste des centres d'intérêt de chaque utilisateur après avoir effectué ces opérations.

1. Ajouter les centres d'intérêt de chaque utilisateur à leurs ensembles respectifs :

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

2. Vérifier si un centre d'intérêt spécifique existe dans l'ensemble d'un utilisateur :

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

3. Récupérer les centres d'intérêt partagés entre deux utilisateurs :

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

4. Obtenir les centres d'intérêt d'un utilisateur qui ne sont pas partagés par un autre :

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

5. Créer une liste complète des centres d'intérêt uniques de tous les utilisateurs :

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

6. Supprimer un centre d'intérêt de l'ensemble d'un utilisateur :

SREM user:3:interests "music"

7. Récupérer les ensembles de centres d'intérêt mis à jour pour chaque utilisateur :

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

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
some-alt