Skip to content
VDS · Bases de données

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.

PalierMémoire de la machinemaxmemory
VDS-12 GB256 MB
VDS-24 GB512 MB
VDS-38 GB1–2 GB
VDS-524 GB4–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ômeCause
NOAUTH Authentication requiredLe mot de passe n'a pas été fourni à l'application
OOM command not allowedmaxmemory atteint avec la politique noeviction
DENIED Redis is running in protected modeAccès externe avec bind 127.0.0.1 — c'est voulu
Données disparues après un redémarrageLa persistance n'est pas activée
La machine est passée en swapLa 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. Utilisez SCAN pour l'itération.