🐳 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).
| Commande | Exemple d’utilisation | Description |
|---|---|---|
| SET | SET user:1 "Eric" | Stocke la valeur « Eric » dans la clé « user:1 ». |
| GET | GET user:1 | Récupère la valeur de la clé « user:1 ». |
| DEL | DEL user:1 | Supprime la clé et sa valeur. |
| EXISTS | EXISTS user:1 | Renvoie 1 si la clé existe, 0 sinon. |
| EXPIRE | EXPIRE session:99 3600 | Définit une durée de vie de 3600 secondes (1h) pour la clé. |
| TTL | TTL session:99 | Affiche le temps restant (en secondes) avant expiration. (-2 = n’existe plus, -1 = n’expire jamais). |
| INCR / DECR | INCR vues:article:42 | Incré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é.
| Commande | Exemple d’utilisation | Description |
|---|---|---|
| LPUSH / RPUSH | LPUSH tasks "email_welcome" | Ajoute une valeur à gauche (début) ou à droite (fin) de la liste. |
| LPOP / RPOP | LPOP tasks | Retire et retourne le premier (ou le dernier) élément de la liste. |
| LRANGE | LRANGE tasks 0 -1 | Affiche tous les éléments de la liste (de l’index 0 au dernier index -1). |
| LLEN | LLEN tasks | Retourne 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).
| Commande | Exemple d’utilisation | Description |
|---|---|---|
| HSET | HSET user:2 nom "Doe" age 35 | Assigne les champs et valeurs au hash « user:2 ». |
| HGET | HGET user:2 nom | Récupère la valeur du champ « nom » pour ce hash. |
| HGETALL | HGETALL user:2 | Récupère tous les champs et valeurs de ce hash. |
| HDEL | HDEL user:2 age | Supprime 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.
| Commande | Exemple d’utilisation | Description |
|---|---|---|
| SADD | SADD ip_bannies "192.168.1.1" | Ajoute un élément à l’ensemble (s’il existe déjà, il est ignoré). |
| SMEMBERS | SMEMBERS ip_bannies | Liste tous les éléments de l’ensemble. |
| SISMEMBER | SISMEMBER 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.
| Commande | Description |
|---|---|
| PING | Test de connexion. Redis répond PONG si le serveur est en ligne. |
| INFO | Affiche 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). |
| FLUSHDB | Supprime toutes les clés de la base de données actuellement sélectionnée. |
| FLUSHALL | Supprime absolument toutes les clés de toutes les bases de données de l’instance. |
| MONITOR | Affiche en temps réel toutes les commandes reçues par le serveur. Pratique pour le debug en développement. |
Sur Tellaw.org :
[…] Cheatsheet Redis : Docker & Commandes Essentielles […]