aliases |
tags |
date |
zero-link |
parents |
linked |
|
|
|
|
|
|
При отсутствии ключа есть большой риск перегрузить базу. Для избегания проблем с перегрузкой базы необходимо ставить локи.
Получаем доступ к кэшу, его срок жизни истёк. Пытаемся заблокироваться по ключу.
- Не удалось получить блокировку: ждём снятия блокировки; не дождались: возвращаем старые данные кэша; дождались: выбираем значения ключа заново, возвращаем новые данные (построенный кэш другим процессом).
- Удалось получить блокировку: строим кэш самостоятельно.