Back to questions
Junior — Middle
61
Объясните механизм сброса или обновления данных в кэше при изменении источника информации.
Companies where asked
Код Открытия
Answer from AI
sobes.tech AI
Механизм сброса или обновления данных в кэше при изменении источника информации обычно называется инвалидацией кэша. Когда данные в источнике меняются, кэш должен быть обновлён или очищен, чтобы не отдавать устаревшую информацию.
В Python это можно реализовать разными способами, например:
- Использовать таймауты (время жизни кэша), после которого данные обновляются.
- При изменении источника явно сбрасывать кэш (например, очищать словарь или использовать декораторы с возможностью сброса).
Пример с использованием декоратора functools.lru_cache и функции сброса кэша:
from functools import lru_cache
@lru_cache(maxsize=128)
def get_data(key):
# Имитация получения данных из источника
return expensive_data_fetch(key)
# При изменении источника вызываем:
get_data.cache_clear() # Сброс кэша
Таким образом, после вызова cache_clear() следующий вызов get_data загрузит свежие данные.