🔴
data

Redis

Base de données en mémoire ultra-rapide utilisee comme cache, broker de messages et store temps réel.

Définition

Redis (Remote Dictionary Server) est un store de données en mémoire open source, utilise comme cache, base de données, message broker et file d'attente. Il offre des temps de réponse sub-milliseconde, ce qui en fait le choix n°1 pour le caching haute performance.

Créé par Salvatore Sanfilippo en 2009, Redis est aujourd'hui utilise par pratiquement toutes les entreprises tech (Twitter, GitHub, Airbnb, etc.).

Structures de données

Redis n'est pas un simple store cle-valeur. Il supporte des structures de données riches :

Structure Commandes Cas d'usage
Strings GET, SET, INCR Cache, compteurs, sessions
Lists LPUSH, RPOP, LRANGE Files d'attente, historique
Sets SADD, SMEMBERS, SINTER Tags, relations, deduplication
Sorted Sets ZADD, ZRANGE, ZRANK Classements, leaderboards
Hashes HSET, HGET, HGETALL Objets (profils utilisateur)
Streams XADD, XREAD, XGROUP Event log, messaging

Cas d'usage courants

Cache applicatif

// Verifier le cache avant la BDD
const cached = await redis.get('user:123');
if (cached) return JSON.parse(cached);

const user = await db.query('SELECT * FROM users WHERE id = 123');
await redis.set('user:123', JSON.stringify(user), 'EX', 3600); // 1h TTL
return user;

Sessions utilisateur

// Stocker une session
await redis.hset('session:abc', { userId: 123, role: 'admin', lastAccess: Date.now() });
await redis.expire('session:abc', 86400); // 24h

Rate limiting

const key = 'ratelimit:' + ip;
const count = await redis.incr(key);
if (count === 1) await redis.expire(key, 60); // 60s window
if (count > 100) throw new Error('Rate limit exceeded');

Pub/Sub (notifications temps réel)

// Publisher
await redis.publish('notifications', JSON.stringify({ userId: 123, message: 'Nouveau message' }));

// Subscriber
redis.subscribe('notifications', (message) => {
  console.log('Notification:', JSON.parse(message));
});

Persistance

Redis est principalement en mémoire, mais offre deux modes de persistance :

  • RDB (Redis Database) : snapshots periodiques sur disque
  • AOF (Append Only File) : log de chaque opération

Pour une durabilité maximale, activez les deux.

Solutions hebergees

Solution Type Prix
Upstash Serverless Pay-per-request
Redis Cloud Managed À partir de 5$/mois
AWS ElastiCache Managed À partir de ~15$/mois
Fly.io Redis Managed À partir de 5$/mois

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions fréquentes

Redis ou Memcached ?
Redis dans la quasi-totalite des cas. Redis offre des structures de donnees riches, la persistance, le Pub/Sub et le clustering. Memcached est plus simple mais limite aux cles-valeurs simples.
Redis peut-il remplacer une base de donnees ?
Pour certains cas d'usage (sessions, cache, leaderboards), oui. Mais Redis stocke tout en RAM, ce qui est couteux pour de gros volumes. Pour les donnees principales, utilisez PostgreSQL + Redis comme cache.
Combien de memoire Redis consomme-t-il ?
Redis utilise environ 1 Go de RAM pour 1 million de cles simples. Les structures complexes (hashes, sorted sets) consomment plus. Surveillez avec INFO MEMORY et configurez maxmemory avec une politique d'eviction.

Pages liées

Chaque semaine, le meilleur de la tech française

Tendances, salaires, outils et opportunités — directement dans votre boîte mail.

Gratuit. Desabonnement en un clic. Pas de spam.