Ответ
Кэшируемость — это свойство системы или данных, позволяющее временно сохранять их в кэше для ускорения доступа и снижения нагрузки на основной источник.
Ключевые аспекты:
- Валидность — кэш должен обновляться при изменении данных (TTL, ETag, Last-Modified).
- Идемпотентность — запросы с одинаковыми параметрами возвращают одинаковый результат.
- Скорость — кэш должен быть быстрее основного хранилища (RAM vs DB/disk).
Пример HTTP-заголовков для кэширования:
Cache-Control: max-age=3600, public
ETag: "abc123"
Когда не кэшировать:
- Динамические/персональные данные (например, баланс счёта).
- Критичные к актуальности (например, транзакции).
Оптимальная стратегия зависит от use-case (LRU, FIFO, write-through и т.д.).