Вопрос проверяет знание механизмов обеспечения сохранности данных в Redis.
Redis поддерживает два механизма сохранения данных:
- RDB (Redis Database Backups): Создание моментальных снимков данных через определённые интервалы времени.
- AOF (Append Only File): Запись каждой операции изменения данных в лог, который может быть воспроизведён для восстановления.
RDB (Redis Database):
- Создаёт снимки данных через заданные интервалы времени.
- Быстро восстанавливает данные после сбоя.
- Недостаток: Потеря данных между моментами создания снимков.
- Пример настройки:
save 60 1000 # Сохранять данные каждые 60 секунд, если было 1000 изменений
AOF (Append Only File):
- Логирует каждую операцию записи.
- Более надёжен, так как минимизирует потерю данных.
- Возможна настройка частоты записи:
always: Запись каждой операции.
everysec: Синхронизация каждую секунду (по умолчанию).
no: Полная отключение синхронизации.
- Пример настройки:
appendonly yes
appendfsync everysec
Использование вместе:
Чтобы достичь баланса между производительностью и надёжностью, часто комбинируют оба механизма:
- RDB обеспечивает быструю загрузку.
- AOF минимизирует потерю данных.
Для обеспечения устойчивости данных в Redis рекомендуется использовать оба механизма (RDB и AOF), чтобы минимизировать потери и быстро восстанавливать данные.