Ответ
При обращении к пустому кэшу система выполняет cache miss и загружает данные из первичного источника (сервер, база данных). Это приводит к:
- Увеличению времени отклика — показывается индикатор загрузки.
- Росту сетевого трафика — данные запрашиваются заново.
- Риску ошибок — если источник данных недоступен.
Пример обработки на Swift:
func loadData() {
if let cachedData = cache.object(forKey: "dataKey") {
// Кэш найден — используем его
updateUI(with: cachedData)
} else {
// Кэш пуст — загружаем из сети
fetchFromServer { [weak self] data in
// Сохраняем в кэш для будущих запросов
self?.cache.setObject(data, forKey: "dataKey")
self?.updateUI(with: data)
}
}
}
Best practice: Всегда проектируйте систему с учётом сценария пустого кэша, используя стратегии вроде Cache-Aside или предварительного заполнения кэша.