Gestion des sessions Symfony : Déploiement avec Redis et Docker Compose
Cheatsheet Redis : Docker & Commandes Essentielles

Cheatsheet Redis : Docker & Commandes Essentielles

🐳 1. Lancement et Gestion via Docker

L’utilisation de Docker est la méthode la plus propre pour lancer une instance Redis en développement ou en production.

Lancement basique (Éphémère)

Idéal pour des tests rapides ou du cache temporaire. Les données sont perdues à l’arrêt du conteneur.

Bash

docker run --name mon-redis -p 6379:6379 -d redis

Lancement avec persistance des données

Utilise le mode appendonly pour sauvegarder les données sur votre disque hôte et survivre aux redémarrages.

Bash

docker run --name mon-redis-persistant \
  -p 6379:6379 \
  -v /chemin/vers/dossier/local:/data \
  -d redis redis-server --appendonly yes

Lancement avec mot de passe (Sécurisé)

Bash

docker run --name mon-redis-secu -p 6379:6379 -d redis redis-server --requirepass "MonMotDePasseSuperFort"

Se connecter au CLI Redis (depuis le conteneur)

Une fois votre conteneur lancé, utilisez cette commande pour ouvrir l’invite de commande Redis (redis-cli) et taper les commandes ci-dessous :

Bash

docker exec -it mon-redis redis-cli
# Si vous avez mis un mot de passe :
docker exec -it mon-redis redis-cli -a "MonMotDePasseSuperFort"

🔑 2. Commandes de Base (Clés & Strings)

Les Strings sont le type de donnée le plus simple dans Redis (idéal pour du cache de page ou de session).

CommandeExemple d’utilisationDescription
SETSET user:1 "Eric"Stocke la valeur « Eric » dans la clé « user:1 ».
GETGET user:1Récupère la valeur de la clé « user:1 ».
DELDEL user:1Supprime la clé et sa valeur.
EXISTSEXISTS user:1Renvoie 1 si la clé existe, 0 sinon.
EXPIREEXPIRE session:99 3600Définit une durée de vie de 3600 secondes (1h) pour la clé.
TTLTTL session:99Affiche le temps restant (en secondes) avant expiration. (-2 = n’existe plus, -1 = n’expire jamais).
INCR / DECRINCR vues:article:42Incrémente (ou décrémente) un nombre entier de 1. Très performant pour les compteurs.

📦 3. Structures de Données Avancées

Redis excelle grâce à ses structures de données complexes, manipulables directement en mémoire.

Les Listes (Lists)

Tableaux de chaînes de caractères, triés par ordre d’insertion. Parfait pour les files d’attente (queues) ou les fils d’actualité.

CommandeExemple d’utilisationDescription
LPUSH / RPUSHLPUSH tasks "email_welcome"Ajoute une valeur à gauche (début) ou à droite (fin) de la liste.
LPOP / RPOPLPOP tasksRetire et retourne le premier (ou le dernier) élément de la liste.
LRANGELRANGE tasks 0 -1Affiche tous les éléments de la liste (de l’index 0 au dernier index -1).
LLENLLEN tasksRetourne la taille (nombre d’éléments) de la liste.

Les Hashs (Hashes)

Idéal pour stocker des objets structurés (comme une ligne de base de données ou un profil utilisateur).

CommandeExemple d’utilisationDescription
HSETHSET user:2 nom "Doe" age 35Assigne les champs et valeurs au hash « user:2 ».
HGETHGET user:2 nomRécupère la valeur du champ « nom » pour ce hash.
HGETALLHGETALL user:2Récupère tous les champs et valeurs de ce hash.
HDELHDEL user:2 ageSupprime un champ spécifique dans le hash.

Les Ensembles (Sets)

Collections d’éléments uniques non ordonnés. Parfait pour gérer des tags, des IP bannies, ou vérifier une appartenance.

CommandeExemple d’utilisationDescription
SADDSADD ip_bannies "192.168.1.1"Ajoute un élément à l’ensemble (s’il existe déjà, il est ignoré).
SMEMBERSSMEMBERS ip_banniesListe tous les éléments de l’ensemble.
SISMEMBERSISMEMBER ip_bannies "10.0.0.1"Renvoie 1 si l’élément fait partie de l’ensemble, 0 sinon.

⚙️ 4. Administration et Utilitaires

Commandes utiles pour surveiller et nettoyer votre instance Redis.

CommandeDescription
PINGTest de connexion. Redis répond PONG si le serveur est en ligne.
INFOAffiche les statistiques détaillées du serveur (mémoire utilisée, clients, version…).
KEYS *Liste toutes les clés existantes. ⚠️ Attention : Ne jamais utiliser en production sur une grosse base, cela bloque le serveur (utilisez SCAN à la place).
FLUSHDBSupprime toutes les clés de la base de données actuellement sélectionnée.
FLUSHALLSupprime absolument toutes les clés de toutes les bases de données de l’instance.
MONITORAffiche en temps réel toutes les commandes reçues par le serveur. Pratique pour le debug en développement.

Sur Tellaw.org :

Voir les commentaires (1)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.