Junior — Middle
95
Bilgi kaynağı değiştiğinde önbellekteki verilerin sıfırlanması veya güncellenmesi mekanizmasını açıklayın.
Sorulan şirketler
Код Открытия
AI'dan gelen yanıt
sobes.tech yapay zeka
Механизм сброса или обновления данных в кэше при изменении источника информации обычно называется инвалидацией кэша. Когда данные в источнике меняются, кэш должен быть обновлён или очищен, чтобы не отдавать устаревшую информацию.
В 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 загрузит свежие данные.