Выбор ответа Senior Кеширование обновлено
Политика вытеснения Redis
Вопрос
Redis используется и как кеш, и для хранения сессий. При заполнении памяти пользователей стало выкидывать из аккаунтов. Что проверить?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: maxmemory-policy: allkeys-lru вытесняет и сессии; разделить экземпляры. При достижении maxmemory Redis вытесняет ключи по политике. allkeys-lru не отличает кеш от сессий.
Варианты ответа
maxmemory-policy:allkeys-lruвытесняет и сессии; разделить экземплярыправильный ответ- Версию Python и redis-py: старые клиенты теряют сессии при переподключении
- Число воркеров gunicorn: каждый держит свои сессии и вытесняет чужие
- Настройку
CONN_MAX_AGE: при закрытии соединения Redis удаляет сессию
Разбор
При достижении maxmemory Redis вытесняет ключи по политике. allkeys-lru не отличает кеш от сессий. Варианты: отдельный экземпляр Redis для данных, которые нельзя терять, или политика volatile-lru, вытесняющая только ключи с TTL (тогда у сессий TTL быть не должно, что не всегда желательно). Остальные варианты к вытеснению отношения не имеют.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.