Redis : persistance et sauvegarde
Redis travaille en mémoire ; la persistance écrit les données sur disque pour survivre à un redémarrage.
Les deux mécanismes
Section intitulée « Les deux mécanismes »| Mode | Principe | Avantage | Limite |
|---|---|---|---|
| RDB (instantané) | Copie complète à intervalles réguliers (dump.rdb) |
Fichier compact, restauration rapide | Perte des écritures depuis le dernier instantané |
| AOF (journal) | Chaque écriture est ajoutée à un journal | Perte limitée à environ 1 seconde | Fichier plus gros, restauration plus lente |
Configuration
Section intitulée « Configuration »Dans /etc/redis/redis.conf :
# RDB : instantané si 1 clé change en 900 s, 10 en 300 s, 10000 en 60 ssave 900 1save 300 10save 60 10000
# AOFappendonly yesappendfsync everysecappendfsync |
Comportement |
|---|---|
always |
Écriture disque à chaque commande : le plus sûr, le plus lent |
everysec |
Une fois par seconde : compromis recommandé |
no |
Laisse le système décider : le plus rapide, le moins sûr |
Choix usuel : AOF everysec pour des données à conserver, RDB seul pour un cache dont la perte est acceptable, aucune persistance (save "" et appendonly no) pour un cache pur.
Déclencher une sauvegarde
Section intitulée « Déclencher une sauvegarde »redis-cli BGSAVE # instantané en arrière-planredis-cli LASTSAVE # date du dernier instantané (horodatage Unix)redis-cli INFO persistence | grep -E "rdb_last_save_time|rdb_last_bgsave_status|aof_enabled"redis-cli BGREWRITEAOF # compacte le journal AOFSAVE fait la même chose en bloquant le serveur : à éviter hors maintenance.
Fichiers
Section intitulée « Fichiers »sudo ls -lh /var/lib/redis/| Fichier | Contenu |
|---|---|
dump.rdb |
Instantané RDB |
appendonlydir/ |
Journal AOF (plusieurs fichiers depuis Redis 7) |
Sauvegarder
Section intitulée « Sauvegarder »redis-cli BGSAVEsleep 5redis-cli INFO persistence | grep rdb_last_bgsave_status # oksudo cp /var/lib/redis/dump.rdb /var/backups/redis-dump-$(date +%F).rdbAttendre la fin de BGSAVE (rdb_bgsave_in_progress:0) avant de copier. Avec AOF activé, copier aussi le dossier appendonlydir/. Conserver une copie hors du serveur.
Restaurer
Section intitulée « Restaurer »sudo systemctl stop redis-serversudo cp /var/backups/redis-dump-2026-01-01.rdb /var/lib/redis/dump.rdbsudo chown redis:redis /var/lib/redis/dump.rdbsudo systemctl start redis-serverredis-cli DBSIZEDépannage
Section intitulée « Dépannage »| Symptôme | Piste |
|---|---|
MISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist |
Disque plein ou droits sur /var/lib/redis : df -h, journal Redis |
| Données perdues au redémarrage | Persistance désactivée (save "", appendonly no) |
| Redémarrage très long | Gros fichier AOF : BGREWRITEAOF, ou RDB |
Échec de BGSAVE (Can't save in background: fork) |
Mémoire insuffisante : vm.overcommit_memory = 1 |
| Journal AOF corrompu | redis-check-aof --fix sur le fichier concerné, après copie de sauvegarde |
Ubuntu 24.04 et 26.04 : différences à connaître
Section intitulée « Ubuntu 24.04 et 26.04 : différences à connaître »Le fonctionnement est identique avec Redis 7.0 et 8.0 ; le journal AOF est découpé en plusieurs fichiers dans appendonlydir/ depuis Redis 7.
Pour aller plus loin
Section intitulée « Pour aller plus loin »- Persistance
- Suite : Sécurité et accès distant