digital-garden/_inbox/Перестройка кэша.md

1.0 KiB
Raw Permalink Blame History

aliases tags date zero-link parents linked
thundering herd
зрелость/🌱
2024-06-18
../garden/ru/meta/zero/00 Разработка
Кэширование

При отсутствии ключа есть большой риск перегрузить базу. Для избегания проблем с перегрузкой базы необходимо ставить локи.

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

  • Не удалось получить блокировку: ждём снятия блокировки; не дождались: возвращаем старые данные кэша; дождались: выбираем значения ключа заново, возвращаем новые данные (построенный кэш другим процессом).
  • Удалось получить блокировку: строим кэш самостоятельно.