Dé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 de set. Chaque utilisateur possède une collection unique de centres d'intérêt.
-
Ajoutez les centres d'intérêt de chaque utilisateur à leurs sets respectifs :
user:1:interests: "music", "movies", "sports" ;user:2:interests: "sports", "travel", "reading" ;user:3:interests: "reading", "music", "cooking".
-
Vérifiez si Utilisateur 1 s'intéresse à "travel" et si Utilisateur 2 s'intéresse à "sports" ;
-
Identifiez les centres d'intérêt communs entre Utilisateur 1 et Utilisateur 2 ;
-
Trouvez les centres d'intérêt de Utilisateur 1 qui ne sont pas partagés par Utilisateur 2 ;
-
Créez une liste de tous les centres d'intérêt uniques partagés par Utilisateur 1, Utilisateur 2 et Utilisateur 3 ;
-
Utilisateur 3 n'est plus intéressé par "music". Retirez ce centre d'intérêt de son set ;
-
Affichez 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"]
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
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?
Génial!
Completion taux amélioré à 3.33
Dé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 de set. Chaque utilisateur possède une collection unique de centres d'intérêt.
-
Ajoutez les centres d'intérêt de chaque utilisateur à leurs sets respectifs :
user:1:interests: "music", "movies", "sports" ;user:2:interests: "sports", "travel", "reading" ;user:3:interests: "reading", "music", "cooking".
-
Vérifiez si Utilisateur 1 s'intéresse à "travel" et si Utilisateur 2 s'intéresse à "sports" ;
-
Identifiez les centres d'intérêt communs entre Utilisateur 1 et Utilisateur 2 ;
-
Trouvez les centres d'intérêt de Utilisateur 1 qui ne sont pas partagés par Utilisateur 2 ;
-
Créez une liste de tous les centres d'intérêt uniques partagés par Utilisateur 1, Utilisateur 2 et Utilisateur 3 ;
-
Utilisateur 3 n'est plus intéressé par "music". Retirez ce centre d'intérêt de son set ;
-
Affichez 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"]
Merci pour vos commentaires !