Junior — Middle
103
Expliquez le mécanisme de suppression ou de mise à jour des données dans le cache lors de la modification de la source d'information.
Entreprises à qui on a demandé
Код Открытия
Réponse de l'IA
sobes.tech IA
Механизм сброса или обновления данных в кэше при изменении источника информации обычно называется инвалидацией кэша. Когда данные в источнике меняются, кэш должен быть обновлён или очищен, чтобы не отдавать устаревшую информацию.
В 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 загрузит свежие данные.