Sobes.tech
Junior — Middle
90

Leg uit hoe het mechanisme voor het resetten of bijwerken van gegevens in de cache werkt bij het wijzigen van de informatiebron.

Bedrijven waar gevraagd werd
Код Открытия

Antwoord van 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 загрузит свежие данные.