Write-Around
Перейти до навігації
Перейти до пошуку
Ця стаття не має інтервікі-посилань. |
Write Around — шаблон проєктування для оптимізації використання кешу.
Аплікація застосовує кеш для оптимізації повторного доступу до даних. Однак дані рідко оновлюються. Необхідно забезпечити спосіб підтримувати актуальні дані в кеші.
Створюємо сервіс обов'язком якого буде кешування. Він знає про розташування даних та оновлює кеш при потребі. Зміна даних призводить лише до оновлення сховища.
- забезпечує часткову консистенцію даних при оптимізованому доступі
- забезпечує непередбачувану потребу в ресурсах. Дані поміщаються в кеш на вимогу
- система може працювати при несправності кешу. В такому випадку дані беруться зі сховища
- забезпечує збереження статичних даних. Кеш-сервіс реалізовує стратегії кешування в залежності від вимоги
- аплікація розділяє дані на читання та запис
- не забезпечує повну консистенцію даних. Дані можуть бути оновлені, стороннім сервісом в той час як кеш міститиме застарілу інформацію
- нормалізовані дані. Аплікації потрібно провести додаткові операції над даними, щоб привести їх до потрібного формату
- аплікації необхідно працювати як зі сховищем так із кешем
- Читаємо дані з кешу.
- Кеш-провайдер забезпечує дані та їх валідність.
- Оновлені дані поміщаємо в сховище.
public Data GetData()
{
return _cache.GetOrAdd(_database.GetData);
}
public void UpdateData(Data data)
{
return _database.UpdateData(data);
}
- What is Caching [Архівовано 22 червня 2020 у Wayback Machine.]