Retour

🔴 Redis - La Base de Données Ultra-Rapide

Redis - NoSQL In-Memory

Redis (REmote DIctionary Server) est une base de données NoSQL qui stocke TOUT en RAM → ultra-rapide ! ⚡ Utilisée par Twitter, GitHub, StackOverflow pour du cache, sessions, leaderboards... 🚀

📦 Types de Données Redis

1. Strings (Chaînes)

Type le plus simple : clé → valeur

SET user:1000:name "Alice"
GET user:1000:name
→ "Alice"
INCR page:views
→ 1
INCR page:views  
→ 2  (compteur automatique !)

2. Lists (Listes)

Liste ordonnée, parfaite pour files d'attente

LPUSH queue:jobs "job1"
LPUSH queue:jobs "job2"
RPOP queue:jobs
→ "job1"  (FIFO: First In First Out)

3. Sets (Ensembles)

Collection unique non ordonnée

SADD tags:article:1 "php" "web" "tutorial"
SMEMBERS tags:article:1
→ ["php", "web", "tutorial"]
SISMEMBER tags:article:1 "php"
→ 1 (true)

4. Hashes (Dictionnaires)

Objet avec champs (comme un JSON)

HSET user:1000 name "Alice" age 25 city "Paris"
HGET user:1000 name
→ "Alice"
HGETALL user:1000
→ {"name": "Alice", "age": "25", "city": "Paris"}

5. Sorted Sets (Ensembles Triés)

Set avec un score pour chaque élément (leaderboards !)

ZADD leaderboard 1000 "Alice" 850 "Bob" 950 "Charlie"
ZRANGE leaderboard 0 -1 WITHSCORES
→ [("Bob", 850), ("Charlie", 950), ("Alice", 1000)]
ZRANK leaderboard "Alice"
→ 2  (3ème position, index 2)

⏰ Expiration & TTL

Auto-Suppression des Clés

Redis peut supprimer automatiquement les clés après un certain temps !

SET session:abc123 "user_data" EX 3600
// Expire dans 3600 secondes (1h)
TTL session:abc123
→ 3594  (secondes restantes)
EXPIRE session:abc123 7200
// Change l'expiration à 2h

🎯 Cas d'Usage

  • 🔑 Sessions utilisateur : expire après 30 min d'inactivité
  • 📧 Codes OTP : expire après 5 min
  • 🎫 Tokens temporaires : expire après 1h
  • 📦 Cache : expire après 10 min

🚀 Pourquoi Redis est Ultra-Rapide ?

En RAM

Toutes les données sont en mémoire vive (pas de disque) → accès en microsecondes !

Single-threaded

Un seul thread = pas de locks = ultra-rapide pour opérations simples

Structures Optimisées

Types de données optimisés en C pour la vitesse

Persistance Optionnelle

Peut sauvegarder sur disque périodiquement (RDB/AOF)

🎮 Quiz Redis

Question 1 / 8
Score: 0 / 0
Glisser pour continuer vers Supabase & BaaS
⬇️