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

Проблема

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

Вирішення

Створюємо сервіс обов'язком якого буде кешування. Він знає про розташування даних та оновлює кеш при потребі. Зміна даних призводить лише до оновлення сховища.

Переваги та недоліки

Переваги

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

Недоліки

не забезпечує повну консистенцію даних. Дані можуть бути оновлені, стороннім сервісом в той час як кеш міститиме застарілу інформацію нормалізовані дані. Аплікації потрібно провести додаткові операції над даними, щоб привести їх до потрібного формату аплікації необхідно працювати як зі сховищем так із кешем

Опис

Читаємо дані з кешу. Кеш-провайдер забезпечує дані та їх валідність. Оновлені дані поміщаємо в сховище.

Див. також Шаблони проєктування програмного забезпечення Об'єктно-орієнтоване програмування

Джерела What is Caching