Write-Through Cache
Ця стаття не має інтервікі-посилань. |
Write-Through Cache — шаблон проєктування для оптимізації використання кешу.
Проблема[ред. | ред. код]
Аплікація застосовує кеш для оптимізації повторного доступу до даних. Однак дані час від часу оновлюються. Необхідно забезпечити спосіб підтримувати максимально актуальні дані в кеші.
Вирішення[ред. | ред. код]
Читаємо дані із кешу. При зміні даних оновлюємо кеш та відповідне сховище.
Переваги та недоліки[ред. | ред. код]
Переваги[ред. | ред. код]
- забезпечує консистенцію даних при оптимізованому доступі
- забезпечує збереження статичних даних
Недоліки[ред. | ред. код]
- система не може працювати при несправності кешу. Якщо кеш не працює потрібні обхідні шляхи
- нормалізовані дані. Кеш-сервіс зберігає дані у тому ж вигляді що і в сховищі
- кеш наповнюється даними, що не використовуються
Опис[ред. | ред. код]
- Читаємо дані з кешу.
- При зміні даних оновлюємо кеш.
- Кеш-сервіс оновлює сховище.
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.]