Redis хранит рабочий набор в памяти. Volume сам по себе не гарантирует актуальный бэкап: сначала нужно выбрать режим сохранения и понимать, сколько последних операций допустимо потерять.
RDB и AOF
RDB делает компактные снимки через заданные интервалы. AOF записывает изменения и обычно даёт меньшую потерю данных, но требует больше диска. Для важной очереди или сессий часто включают AOF:
appendonly yes
appendfsync everysec
aof-use-rdb-preamble yes
Проверьте CONFIG GET dir, CONFIG GET dbfilename и INFO persistence. Если Redis запущен в контейнере, каталог dir обязан находиться в постоянном volume.
Согласованный бэкап
Запросите снимок BGSAVE и дождитесь, пока rdb_bgsave_in_progress станет 0, а rdb_last_bgsave_status — ok. После этого копируйте RDB из volume. Для AOF используйте штатный каталог appendonly и не собирайте набор из файлов во время rewrite без понимания manifest.
Восстановление проверяйте в отдельном Redis без внешнего порта: подключите копию данных, запустите сервер, выполните redis-cli DBSIZE и несколько предметных чтений. Никогда не проверяйте архив заменой файлов у работающего production-инстанса.
Если Redis используется только как кэш, восстановление может быть не нужно, но это должно быть сознательным решением.
Официальные источники