Redis : cache et files d'attente
Installer Redis sur un VDS, définir le mot de passe et lier à une adresse locale, configurer la limite de mémoire et la politique d'éviction, et comprendre la différence entre un cache et une file d'attente.
Mis à jour le 23 août 2026
Redis conserve les données en mémoire, c'est pourquoi il est utilisé pour le cache, les sessions, les compteurs et les files de tâches. Sur un VPS, il est utile tant qu'il tient dans la mémoire : un working set plus grand que la mémoire libre n'est plus une accélération mais une cause de plantages.
Installation
apt update && apt install -y redis-server # Debian, Ubuntu
dnf install -y redis # AlmaLinux, CentOS Stream
systemctl enable --now redis-server
redis-cli ping
Une réponse PONG signifie que le serveur fonctionne.
Configuration requise
Le fichier /etc/redis/redis.conf :
bind 127.0.0.1
protected-mode yes
requirepass long-random-password
maxmemory 512mb
maxmemory-policy allkeys-lru
appendonly no
systemctl restart redis-server
redis-cli -a 'password' ping
Les scanners trouvent un Redis sans mot de passe exposé sur Internet en quelques minutes et l'utilisent pour miner. Si votre application se trouve sur la même machine, conservez bind 127.0.0.1 et n'exposez pas le port 6379 vers l'extérieur. Si vous avez besoin d'un accès externe, utilisez uniquement un tunnel SSH ou un VPN.
Mémoire et éviction
Définissez maxmemory explicitement : sans cela, Redis grossit jusqu'à ce que le système commence à tuer des processus. Il est raisonnable de lui allouer un quart de la mémoire du palier.
| Palier | Mémoire de la machine | maxmemory |
|---|---|---|
| VDS-1 | 2 GB | 256 MB |
| VDS-2 | 4 GB | 512 MB |
| VDS-3 | 8 GB | 1–2 GB |
| VDS-5 | 24 GB | 4–6 GB |
La politique dépend du rôle :
- cache —
allkeys-lru, les anciennes clés sont évincées silencieusement ; - file de tâches —
noeviction, perdre une tâche est inacceptable, une erreur d'écriture est préférable.
Ne mélangez pas cache et file d'attente dans une même base de données, précisément à cause de cette contradiction. Séparez-les dans des numéros de base différents (SELECT 1) ou deux instances.
Persistance sur disque
Par défaut, Redis écrit périodiquement un snapshot dans dump.rdb. Pour un cache pur, c'est une écriture disque inutile — désactivez save. Pour les files d'attente, activez appendonly yes : ainsi les tâches ne seront pas perdues après un redémarrage de la machine.
Gardez à l'esprit que la vitesse d'écriture disque est limitée par le palier : 60 MB/s par cœur, pas moins de 60 et pas plus de 400 MB/s.
Supervision
redis-cli -a 'password' info memory
redis-cli -a 'password' info stats
redis-cli -a 'password' --stat
redis-cli -a 'password' slowlog get 10
La métrique clé est evicted_keys : une croissance constante signifie que la mémoire est insuffisante et que le cache n'est pas rentable.
Erreurs courantes
| Symptôme | Cause |
|---|---|
NOAUTH Authentication required | Le mot de passe n'a pas été fourni à l'application |
OOM command not allowed | maxmemory atteint avec la politique noeviction |
DENIED Redis is running in protected mode | Accès externe avec bind 127.0.0.1 — c'est voulu |
| Données disparues après un redémarrage | La persistance n'est pas activée |
| La machine est passée en swap | La somme de maxmemory et des autres services dépasse la mémoire du palier |
N'utilisez pas
KEYS *sur un serveur de production : la commande bloque Redis pendant qu'elle parcourt toutes les clés. UtilisezSCANpour l'itération.