Какую стратегию вытеснения (eviction policy) поставить в Redis для хранения отложенных нотификаций?

Для единственной копии отложенных уведомлений вытеснение недопустимо: выбирают noeviction и обрабатывают отказ записи при нехватке памяти. Надёжнее хранить источник истины в долговечном хранилище.

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

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

Для единственной копии отложенных уведомлений вытеснение недопустимо: выбирают noeviction и обрабатывают отказ записи при нехватке памяти. Надёжнее хранить источник истины в долговечном хранилище.

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

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

Для единственной копии отложенных уведомлений вытеснение недопустимо: выбирают noeviction и обрабатывают отказ записи при нехватке памяти. Надёжнее хранить источник истины в долговечном хранилище.

LRU или LFU могут удалить ещё не отправленные уведомления, даже если они кажутся редко используемыми. noeviction предотвращает такое вытеснение, но не защищает от потери при сбое или ошибочного TTL. Нужны запас памяти, мониторинг, persistence с подходящими гарантиями и подтверждение постановки только после успешной записи. Redis можно использовать как индекс ближайших сроков поверх БД с возможностью восстановления очереди.

Источник: redis.io.

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

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

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

Подробнее