Write-Through Cache

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Write-Through Cache — шаблон проєктування для оптимізації використання кешу.

Проблема[ред. | ред. код]

Аплікація застосовує кеш для оптимізації повторного доступу до даних. Однак дані час від часу оновлюються. Необхідно забезпечити спосіб підтримувати максимально актуальні дані в кеші.

Вирішення[ред. | ред. код]

Читаємо дані із кешу. При зміні даних оновлюємо кеш та відповідне сховище.

Переваги та недоліки[ред. | ред. код]

Переваги[ред. | ред. код]

  • забезпечує консистенцію даних при оптимізованому доступі
  • забезпечує збереження статичних даних

Недоліки[ред. | ред. код]

  • система не може працювати при несправності кешу. Якщо кеш не працює потрібні обхідні шляхи
  • нормалізовані дані. Кеш-сервіс зберігає дані у тому ж вигляді що і в сховищі
  • кеш наповнюється даними, що не використовуються

Опис[ред. | ред. код]

Робота патерну write-through cache
  1. Читаємо дані з кешу.
  2. При зміні даних оновлюємо кеш.
  3. Кеш-сервіс оновлює сховище.
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);
	}
}

Див. також[ред. | ред. код]

Джерела[ред. | ред. код]