0% ont trouvé ce document utile (0 vote)
5 vues4 pages

Introduction à Redis pour Génie Informatique

Ce document présente un cours sur les bases de données non relationnelles, en se concentrant sur Redis, une base de données orientée clé-valeur. Il couvre des travaux pratiques incluant la manipulation de données, l'intégration de Redis dans une application web avec Flask, et la mise en place d'un cluster Redis. Les étudiants apprendront à utiliser des commandes Redis, à créer des applications et à gérer des clusters via Docker.

Transféré par

Mouad Riyad
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues4 pages

Introduction à Redis pour Génie Informatique

Ce document présente un cours sur les bases de données non relationnelles, en se concentrant sur Redis, une base de données orientée clé-valeur. Il couvre des travaux pratiques incluant la manipulation de données, l'intégration de Redis dans une application web avec Flask, et la mise en place d'un cluster Redis. Les étudiants apprendront à utiliser des commandes Redis, à créer des applications et à gérer des clusters via Docker.

Transféré par

Mouad Riyad
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours: Base de données non relationnelles

2éme année Génie informatique

Travaux Pratique : Base de données orientés clé-valeur


Redis

But
Pour ce TP, on va voir la base de données Redis, la principale base de données clé valeur. La
donnée est stockée sous forme d’un couple de clé qui référence une valeur qui peut être simple
comme composé. Les commandes sont assez limitées. La base de données choisie va au-delà
du paradigme en permettent de stocker des documents JSON ou utiliser pour accélérer les
LLMs comme ChatGPT. Mais, on se tiendra au principe de base. Aussi, on verra une simple
application web basé sur cette base et son utilisation. Enfin, on verra le fonctionnement d’un
cluster. Aussi, on aura l’occasion de voir comment utiliser le protocol SSH et comment l’utiliser
pour contrôler une machine à distance, les conteneurs docker et le système compose pour les
multi-conteneurs

Partie 1: familiarisation avec les commandes de bases


Prise en main
Pour commencer, on aura besoin d’ouvrir VirtualBox et de démarrer la machine virtuelle
Debian. Ensuite, il faut lancer le terminal et tapez hostname -I et noter l’adresse ip avec
192.168.56.X . Enfin, il suffit de lier VSCode de la machine hôte à la machine virtuelle par SSH
en entrant l’adresse ip, l’utilisateur user, et le mot de passe 12345678. Maintenant, VSCode
contrôle la machine virtuelle via SSH. Ensuite, ouvrez l’onglet docker et lancez la machine
redis-stack. Il faut consulter le navigateur et tapez ‘localhost:8001‘ pour se trouver dans Redis
Insight. Cette interface est une GUI créé pour interagir avec Redis. Elle contient tous les outils
nécessaires de gestion et d’interaction avec la base de données.

Manipulation Simple
Taper les commandes suivantes :

SET USER:01 MOHAMED


GET USER:01
SET USER:02 AMINE
RENAME USER:02 USER:03
SET USER:03 ADIL
SET USER:04 AHMED
EXPIRE USER:04 20
TTL USER:04
TTL USER:03
DEL USER:01
SET COUNT:01 7
INCR COUNT:01
GET COUNT:01
INCRBY COUNT:01 7

2025 Pr Mouad RIYAD


GET COUNT:01
DECR COUNT:01
GET COUNT:01

Manipulation des listes


Créer une liste de ville et manipuler la comme suit :

LPUSH VILLE RABAT


LPUSH VILLE CASABLANCA
LPUSH VILLE SALE
LPUSH VILLE ELJADIDA
LPUSH VILLE AGADIR
LPUSH VILLE TANGER
GET VILLE
LRANGE VILLE 0 -1
LRANGE VILLE 0 5
LRANGE VILLE 0 2
LRANGE VILLE 3 5
LPOP VILLE
LRANGE VILLE 0 -1
RPOP VILLE
LRANGE VILLE 0 -1
RPUSH VILLE TETOUAN
LRANGE VILLE 0 -1

Manipulation des ensembles non ordonnées


Créer deux listes non ordonnées et appliquer les commande ensembliste comme suit :

SADD PAYS MAROC


SADD PAYS FRANCE
SADD PAYS ESPAGNE
SADD PAYS PALESTINE
SMEMBERS PAYS
SISMEMBER PAYS PALESTINE
SISMEMBER PAYS ESPAGNE
SADD PAYS2 MAROC
SADD PAYS2 JAPON
SADD PAYS2 JORDANIE
SADD PAYS2 AUSTRALIE
SMEMBERS PAYS2
SINTER PAYS PAYS2
SUNION PAYS PAYS2
SDIFF PAYS PAYS2
SREM PAYS FRANCE

2
Manipulation des ensembles ordonnées
Créer un ensemble ordonner et appliquer les commandes suivantes :

ZADD JOUEURS 50 ADIL


ZADD JOUEURS 60 SARA
ZADD JOUEURS 10 SAMIR
ZADD JOUEURS 30 FATIMA
ZRANGE JOUEURS 0 -1
ZREM JOUEURS FATIMA
ZRANGEBYSCORE JOUEURS 0 100 WITHSCORES LIMIT 0 1

Manipulation des tables de hashage


Établir une table de hachage avec les instructions suivantes

HSET USERDATA NOM ”AMINE”


HSET USERDATA PRENOM ”ALAOUI”
HSET USERDATA EMAIL ”AMINE.A@[Link]”
HGET USERDATA NOM
HGETALL USERDATA
HSET USERDATA SOLDE 200
HINCRBY USERDATA SOLDE 100
HGET USERDATA SOLDE

Partie 2: Intégration de redis dans un backend


Dans cette partie, on souhaite créer une application web qui utilise une base de données Redis
comme support de stockage. On propose de mettre en place l’application avec flask et redis-py.
Elle aura les fonctionnalités suivantes :
• L’utilisateur ouvre une page centrale qui lui donne le choix entre de s’inscrire ou de
consulter son vote.
• La page d’inscription enregistre quelques données de l’utilisateur.
• Page de renseignement prend les votes sous chaque image.
• Une page de réponse affiche les réponses déjà saisies.
• Une page additionnelle permet à l’utilisateur de consulter son vote.
• Une page de dashboard avec les résultats globaux de chaque image.
L’application est déjà écrite , mais avec des cases dédiées aux commandes Redis à remplir.
Donc le travail à faire:
• Replisser les champs avec les commandes décrites dans les commentaires.
• Tester le fonctionnement global de l’application.
• Stocker le résultat de la dashboard pour 30 secondes via le décorateur du cache.
• Consulter Redis Insight pour voir les données.

3
Partie 3: Mise en place d’un cluster
Comme étape final, on va voir comment déployer un cluster de 6 machines redis qui travaillèrent
en réseaux. Pour cela, on a écrit un fichier Docker compose qui se chargera de créer les machines,
les connecter en réseau, et lancer le processus de formation de cluster:

Docker compose
1. Consulter le fichier docker compose.

2. Identifier les différentes parties des blocs

3. Lancer le scripte avec la commande docker compose up

4. Analyser la sortie pour comprendre le processus

5. Connecter vous a une instance et lancer les commandes CLUSTER NODES et CLUSTER
INFO.

6. donnez la structure final du cluster

Utilisation du Notebook Python


1. Ouvrer le notebook python et analyser son contenu.

2. Lancer le notebook.

3. Écrivez un script qui entre 1000 entrées aléatoires avec une boucle.

4. Taper la commande [Link]() pour connaı̂tre le nombre de clé existant.

5. Comment avoir les 1000 entrées?

Vous aimerez peut-être aussi