Опишите разницу между стратегиями вытеснения данных в Redis: volatile-lru, allkeys-lru и noeviction.

volatile-lru вытесняет редко используемые ключи только среди имеющих TTL, allkeys-lru — среди всех ключей, а noeviction не вытесняет данные и отклоняет записи при нехватке памяти.

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

Что ответить на собеседовании

volatile-lru вытесняет редко используемые ключи только среди имеющих TTL, allkeys-lru — среди всех ключей, а noeviction не вытесняет данные и отклоняет записи при нехватке памяти.

Подробный разбор

Ответ с пояснениями

volatile-lru вытесняет редко используемые ключи только среди имеющих TTL, allkeys-lru — среди всех ключей, а noeviction не вытесняет данные и отклоняет записи при нехватке памяти.

LRU в Redis приближённый, поэтому это не точный глобальный список всех обращений. Если при volatile-lru нет подходящих ключей с TTL, освободить память таким способом не получится. noeviction не означает остановку всех команд: чтение и освобождение памяти остаются возможными, а ошибка затрагивает операции, требующие дополнительной памяти. Политику выбирают по роли Redis: потеря кешируемой копии отличается от потери единственного экземпляра важных данных. Нужны мониторинг памяти и обработка ошибок записи.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее