Вступить в клуб →
лёгкаявопросКэш, очереди и фоновые задачи

Ключи в Redis без TTL: память кончилась, ключи начали пропадать

Результаты поиска по каталогу складываются в Redis без времени жизни: ключ формируется из параметров фильтра. Через несколько недель потребление памяти дошло до maxmemory, и стали пропадать ключи, которые команда считала «постоянными» — в том числе пользовательские сессии.

Что здесь верно?

  • Redis всегда сам удаляет старые ключи по LRU независимо от настроек, поэтому TTL нужен только сессиям и другим временным данным
  • Проблема решается перезапуском Redis по расписанию раз в сутки: память освобождается, и до следующего запуска её гарантированно хватает
  • Кэш-ключам задают TTL: без него данные копятся, и при достижении лимита памяти Redis начинает вытеснять ключи по настроенной политике
  • Результаты поиска нужно хранить бессрочно и просто добавить памяти: TTL приведёт к промахам и заметно замедлит выдачу каталога

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела