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

Проблема

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

Вирішення

Поміщаємо дані в кеш на вимогу. Протягом певного періоду часу очищаємо кеш.

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

Переваги

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

Недоліки

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

Опис

Читаємо дані з кешу. Якщо даних немає в кеші, читаємо їх зі сховища. Поміщаємо прочитані дані в кеш. Очищаємо дані із кешу за певний період часу.

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

Джерела Caching strategies and how to choose the right one