Read-Through Cache
Read-Through Cache — шаблон проєктування для оптимізації використання кешу. ПроблемаАплікація застосовує кеш для оптимізації повторного доступу до даних. Однак дані час від часу оновлюються. Необхідно забезпечити спосіб підтримувати максимально актуальні дані в кеші. ВирішенняСтворюємо сервіс обов'язком якого буде кешування. Він знає про розташування даних та оновлює кеш при потребі. Переваги та недолікиПереваги
Недоліки
Опис
public Data GetUserData()
{
return _cache.GetData(DataType.Users);
}
class MyCache
{
public List<RequestedData> _cachedData;
public GetData(DataType dataType)
{
if (_cachedData.HasCache(dataType))
{
_cachedData.AddMissingKey(dataType);
return null;
}
return _cachedData.GetData(dataType);
}
private LoadMissingCache()
{
new Thread(() => {
_cachedData.Where(d => d.IsMissing).ForEach(d => _dataBase.Load(d));
});
}
}
Див. такожДжерела
|