Write-Back
Зовнішній вигляд
![]() | Ця стаття не має інтервікі-посилань. |
Write back (також write behind) — шаблон проєктування для оптимізації використання кешу.
Аплікація застосовує кеш для оптимізації повторного доступу до даних. Однак дані часто оновлюються. Необхідно забезпечити спосіб підтримувати максимально актуальні дані в кеші.
Читаємо дані із кешу. При зміні даних оновлюємо кеш та асинхронно оновлюємо відповідне сховище.
- забезпечує консистенцію даних при оптимізованому доступі
- забезпечує збереження статичних даних
- надає оптимізований спосіб запису даних
- система не може працювати при несправності кешу. Якщо кеш не працює потрібні обхідні шляхи
- нормалізовані дані. Кеш-сервіс зберігає дані у тому ж вигляді що і в сховищі
- кеш наповнюється даними, що не використовуються

- Читаємо дані з кешу.
- При зміні даних оновлюємо кеш.
- Кеш-сервіс асинхронно оновлює сховище.
public Data GetData()
{
return _cache.GetData();
}
public void UpdateData(Data data)
{
return _cache.UpdateDataAsync(data);
}
class Cache
{
public Data GetData()
{
return this.GetCachedData();
}
public void UpdateDataAsync(Data data)
{
_queue.UpdateData(data);
}
}
class Queue
{
public void UpdateData(Data data)
{
_database.UpdateData(data);
}
}
- Caching strategies and how to choose the right one [Архівовано 21 червня 2020 у Wayback Machine.]