Выбор ответа Middle Кеш и очереди обновлено

Redis кончилась память

Вопрос

Redis для кеша достиг maxmemory, политика вытеснения не настроена. Что будет при новых записях?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Записи получат ошибку OOM: по умолчанию noeviction. Политика по умолчанию noeviction: команды, увеличивающие память, получают ошибку OOM, а чтение работает.

Варианты ответа

  1. Записи получат ошибку OOM: по умолчанию noevictionправильный ответ
  2. Redis удалит самые старые ключи по времени записи
  3. Redis начнёт выгружать часть ключей на диск
  4. Redis упадёт по OOM и перезапустится

Разбор

Политика по умолчанию noeviction: команды, увеличивающие память, получают ошибку OOM, а чтение работает. Для кеша выставляют allkeys-lru или allkeys-lfu, чтобы Redis сам вытеснял редко используемые ключи.

  • Удаление ключей это поведение LRU-политик, его нужно включить.
  • Сохранение на диск (RDB, AOF) это персистентность, а не расширение памяти.
  • Redis не падает от достижения лимита.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.