lru_cache или Redis/Memcached — что лучше использовать и когда?

lru_cache подходит для дешёвого локального кеша результатов внутри одного процесса. Redis или Memcached выбирают, когда кеш нужен нескольким экземплярам приложения и требуется отдельное управление хранением.

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

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

lru_cache подходит для дешёвого локального кеша результатов внутри одного процесса. Redis или Memcached выбирают, когда кеш нужен нескольким экземплярам приложения и требуется отдельное управление хранением.

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

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

lru_cache подходит для дешёвого локального кеша результатов внутри одного процесса. Redis или Memcached выбирают, когда кеш нужен нескольким экземплярам приложения и требуется отдельное управление хранением.

Локальный кеш не требует сети и сериализации, но дублируется между workers и исчезает при рестарте. lru_cache ограничивает число записей, а не автоматически срок свежести или общий размер объектов. Внешний кеш добавляет задержку, отказоустойчивость и эксплуатацию, зато даёт общий слой и TTL. Решение зависит от стоимости вычисления, размера, допустимой устарелости и правил инвалидирования. Кеш не должен подменять авторизацию и источник истины.

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

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

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

Подробнее