83 lines
2.9 KiB
Markdown
83 lines
2.9 KiB
Markdown
# Exercices Redis
|
|
|
|
* Utiliser redis-cli et copier/coller le résultat de chaque exercice (commandes et retours de Redis) dans un fichier texte.
|
|
* [Installer Redis sous Windows](https://www.supinfo.com/articles/single/8843-redis-installation-windows)
|
|
|
|
---
|
|
|
|
## Exercice 1
|
|
|
|
* créer une clé "normale" avec sa valeur
|
|
* récupérer le résultat
|
|
* supprimer la clé
|
|
|
|
---
|
|
|
|
## Exercice 2 : expiration
|
|
|
|
* créer une clé
|
|
* lui donner une expiration courte (quelques secondes)
|
|
* vérifier que la clé "disparaît" toute seule
|
|
|
|
---
|
|
|
|
## Exercice 3 : compteurs
|
|
|
|
* Créer une clé contenant un numéro
|
|
* L'incrémenter et le décrementer avec les commandes Redis adaptées
|
|
|
|
---
|
|
|
|
## Exercice 4 : liste unique non ordonnée
|
|
|
|
* Créer une liste unique non ordonnée (set, `SADD`)
|
|
* Y insérer plusieurs entrées
|
|
* Insérer des entrées en double
|
|
* Vérifier que la liste ne contient pas de doublons
|
|
* Supprimer des entrées
|
|
|
|
---
|
|
|
|
## Exercice 5 : liste ordonnée par ordre d'insertion
|
|
|
|
* Créer une liste ordonnée (`LPUSH`)
|
|
* Ajouter des entrées par la gauche et la droite (`LPUSH` et `RPUSH`)
|
|
* Récupérer une partie de la liste
|
|
* Supprimer des éléments par la gauche, la droite (pop) et arbitrairement (rem)
|
|
|
|
---
|
|
|
|
## Exercice 6 : hashes
|
|
|
|
* Créer un hash avec plusieurs sous-clés et sous-valeurs (`HSET` et `HMSET`)
|
|
* Récupérer toutes les sous-valeurs du hash
|
|
* Modifier une seule sous-valeur
|
|
* Récupérer une seule sous-valeur
|
|
|
|
---
|
|
|
|
## Exercice 7 : liste ordonnée par score
|
|
|
|
* Enregistrer les scores de 10 joueurs de Tetris dans une liste ordonnée (`ZADD`), avec leurs noms et leurs scores
|
|
* Récupérer la liste des 5 meilleurs joueurs (`ZRANGE`)
|
|
* Récupérer le score du joueur Bob
|
|
|
|
---
|
|
|
|
## Mini-projet : newsfeed de réseau social
|
|
|
|
* Note : tout le monde doit utiliser le même serveur Redis au final !
|
|
* Travail en équipe (groupes et classe).
|
|
* Prérequis avant de coder : se mettre d'accord avec le reste de la classe de la structure des données à stocker dans Redis (types, noms des clés, etc.) !
|
|
* Pour rendre les choses plus faciles : la base Redis contiendra une liste unique non ordonnée "utilisateurs" contenant la liste des noms/pseudo des utilisateurs du réseau social.
|
|
|
|
* L'application doit permettre d'ajouter des posts à sa propre timeline
|
|
* Les posts doivent contenir : date, nom de l'utilisateur, contenu du post
|
|
* Chaque utilisateur a une timeline différente selon qui il veut suivre
|
|
* Mais le contenu des posts ne doit être stocké qu'une seule fois !
|
|
* L'application doit propager ces posts aux utilisateurs inscrits à sa propre timeline
|
|
* L'application doit permettre de lire les derniers posts des utilisateurs auxquels on s'est inscrit
|
|
|
|
* Note : l'implémentation de la gestion des utilisateurs et de l'inscription aux timelines des autres utilisateurs est facultative (création d'utilisateur et inscription aux timelines sont possibles à la main avec redis-cli).
|
|
|
|
* Note 2 : certaines données associatives peuvent être doublonnées (présence dans plusieurs clés) si nécessaire. |