Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Redis : Redis, persistence, RDB, AOF, snapshot

В каких случаях Redis может сбрасывать данные на диск?

Вопрос проверяет понимание механизмов персистентности Redis и сценариев, при которых данные сохраняются на диск.

Короткий ответ

Redis может сбрасывать данные на диск в двух основных режимах: RDB (снапшоты) и AOF (журнал операций). RDB создает дамп данных по расписанию или при выполнении команд SAVE/BGSAVE. AOF записывает каждую операцию в лог, который можно перезаписать при переполнении. Также данные сбрасываются при перезапуске сервера, если включена персистентность.

Длинный ответ

Механизмы персистентности Redis

Redis — это in-memory база данных, но для сохранения данных при перезапуске или сбоях он поддерживает два механизма персистентности: RDB (Redis Database) и AOF (Append Only File). Оба могут работать одновременно или по отдельности.

RDB (снапшоты)

RDB создает бинарный дамп данных в определенные моменты времени. Сброс на диск происходит в следующих случаях:

  • По расписанию, заданному в конфигурации (например, save 900 1 — если за 900 секунд произошло хотя бы одно изменение).
  • При выполнении команды SAVE (синхронно, блокирует сервер) или BGSAVE (асинхронно, в фоновом процессе).
  • При выключении сервера, если включена опция save.
# Пример конфигурации RDB
save 900 1
save 300 10
save 60 10000

AOF (журнал операций)

AOF записывает каждую команду, изменяющую данные, в лог-файл. Сброс на диск может происходить:

  • При каждой операции (appendfsync always) — максимальная надежность, но низкая производительность.
  • Каждую секунду (appendfsync everysec) — компромисс между скоростью и безопасностью.
  • По усмотрению ОС (appendfsync no) — быстрее, но риск потери данных.
# Пример конфигурации AOF
appendonly yes
appendfsync everysec

Дополнительные сценарии

Redis также сбрасывает данные при перезапуске, если включена персистентность, или при выполнении команды DEBUG RELOAD. В режиме репликации мастер может сбросить данные для синхронизации с репликой.

Вывод

Выбор между RDB и AOF зависит от требований к надежности и производительности. RDB подходит для резервного копирования и быстрого восстановления, а AOF — для минимизации потери данных. Комбинированное использование обеспечивает баланс.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • Redis

    Redis

Ключевые слова

#Redis

#persistence

#RDB

#AOF

#snapshot

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.