Contenu du cours
Introduction à Redis
Introduction à Redis
Défi : Gérer les Intérêts des Utilisateurs
Imaginez que vous développez une fonctionnalité pour une application qui suit les intérêts des utilisateurs. Les informations sur chaque utilisateur sont stockées dans Redis sous forme de set. Chaque utilisateur a une collection unique d'intérêts.
-
Ajoutez les intérêts pour 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 l'Utilisateur 1 est intéressé par "travel" et si l'Utilisateur 2 est intéressé par "sports";
-
Identifiez les intérêts communs de l'Utilisateur 1 et l'Utilisateur 2;
-
Trouvez les intérêts de l'Utilisateur 1 qui ne sont pas partagés par l'Utilisateur 2;
-
Créez une liste de tous les intérêts uniques partagés par l'Utilisateur 1, l'Utilisateur 2 et l'Utilisateur 3;
-
L'Utilisateur 3 a cessé d'être intéressé par "music." Retirez cet intérêt de leur set;
-
Affichez la liste des intérêts pour chaque utilisateur après avoir effectué ces opérations.
1. Ajouter des intérêts pour 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 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 intérêts partagés entre deux utilisateurs :
SINTER user:1:interests user:2:interests # result: ["sports"]
4. Obtenir les intérêts 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 intérêts 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 intérêt de l'ensemble d'un utilisateur :
SREM user:3:interests "music"
7. Récupérer les ensembles mis à jour des intérêts 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 !