При достижении maxmemory с noeviction Redis не вытесняет ключи и отклоняет команды, требующие дополнительной памяти. Чтение и операции освобождения памяти остаются возможными.
Что произойдёт с операциями записи в Redis, если его оперативная память полностью заполнится при политике noeviction?
При достижении maxmemory с noeviction Redis не вытесняет ключи и отклоняет команды, требующие дополнительной памяти. Чтение и операции освобождения памяти остаются возможными.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Что произойдёт с операциями записи в Redis, если его оперативная память полностью заполнится при политике noeviction?
Ответ
При достижении maxmemory с noeviction Redis не вытесняет ключи и отклоняет команды, требующие дополнительной памяти. Чтение и операции освобождения памяти остаются возможными.
Не всякая команда записи одинаково обрабатывается: ограничение относится к операциям, помеченным как потенциально увеличивающие использование памяти. Приложение должно обработать ошибку OOM, а не бесконечно повторять запись. DEL и истечение TTL могут освободить место. Различайте достижение настроенного maxmemory и физическое исчерпание RAM: во втором случае возможны swap или завершение процесса ОС. Следите за используемой памятью и оставляйте запас на служебные буферы, а изменение политики выбирайте по требованиям к сохранности данных.
Источник: redis.io.