Write-Through Cache
Write-Through Cache — шаблон проєктування для оптимізації використання кешу.
Проблема
Аплікація застосовує кеш для оптимізації повторного доступу до даних. Однак дані час від часу оновлюються. Необхідно забезпечити спосіб підтримувати максимально актуальні дані в кеші.
Вирішення
Читаємо дані із кешу. При зміні даних оновлюємо кеш та відповідне сховище.
Переваги та недоліки
Переваги
- забезпечує консистенцію даних при оптимізованому доступі
- забезпечує збереження статичних даних
Недоліки
- система не може працювати при несправності кешу. Якщо кеш не працює потрібні обхідні шляхи
- нормалізовані дані. Кеш-сервіс зберігає дані у тому ж вигляді що і в сховищі
- кеш наповнюється даними, що не використовуються
Опис
![](http://upload.wikimedia.org/wikipedia/uk/3/3d/%D0%94%D1%96%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%B0_%D1%80%D0%BE%D0%B1%D0%B8%D1%82%D0%B8_%D0%BF%D0%B0%D1%82%D0%B5%D1%80%D0%BD%D1%83_Write-Through_Cache.png)
- Читаємо дані з кешу.
- При зміні даних оновлюємо кеш.
- Кеш-сервіс оновлює сховище.
public Data GetData()
{
return _cache.GetData();
}
public void UpdateData(Data data)
{
return _cache.UpdateData(data);
}
class Cache
{
public Data GetData()
{
return this.GetCachedData();
}
public void UpdateData(Data data)
{
_database.UpdateData(data);
}
}
Див. також
Джерела
- Caching strategies and how to choose the right one [Архівовано 21 червня 2020 у Wayback Machine.]