Вопрос проверяет понимание механизмов персистентности Redis и сценариев, при которых данные сохраняются на диск.
Redis — это in-memory база данных, но для сохранения данных при перезапуске или сбоях он поддерживает два механизма персистентности: RDB (Redis Database) и AOF (Append Only File). Оба могут работать одновременно или по отдельности.
RDB создает бинарный дамп данных в определенные моменты времени. Сброс на диск происходит в следующих случаях:
# Пример конфигурации RDB
save 900 1
save 300 10
save 60 10000AOF записывает каждую команду, изменяющую данные, в лог-файл. Сброс на диск может происходить:
# Пример конфигурации AOF
appendonly yes
appendfsync everysecRedis также сбрасывает данные при перезапуске, если включена персистентность, или при выполнении команды DEBUG RELOAD. В режиме репликации мастер может сбросить данные для синхронизации с репликой.
Выбор между RDB и AOF зависит от требований к надежности и производительности. RDB подходит для резервного копирования и быстрого восстановления, а AOF — для минимизации потери данных. Комбинированное использование обеспечивает баланс.