Что будет с Redis и клиентами, если Redis заполнен и политики вытеснения отключены?

В этом состоянии:

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

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

Если Redis заполнен до максимального объёма памяти и политики вытеснения (eviction policies) отключены (то есть настроено maxmemory-policy noeviction), то Redis перестанет принимать команды, которые требуют выделения дополнительной памяти.

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

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

Если Redis заполнен до максимального объёма памяти и политики вытеснения (eviction policies) отключены (то есть настроено maxmemory-policy noeviction), то Redis перестанет принимать команды, которые требуют выделения дополнительной памяти.

В этом состоянии:

  • Redis будет возвращать ошибку клиентам при попытке записать новые данные (например, SET, HSET и т.п.).
  • Клиенты, пытающиеся выполнить такие операции, получат ошибку "OOM command not allowed when used memory > 'maxmemory'".
  • Операции чтения (GET и подобные) продолжат работать нормально.

Таким образом, Redis не будет автоматически удалять старые ключи, и приложение должно самостоятельно обрабатывать ошибки записи и предпринимать меры (например, очищать кэш или увеличивать лимит памяти).

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

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

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

Подробнее