Уровни кеширования
- HTTP-кеш — браузер и прокси кешируют ответы по заголовкам Cache-Control
- CDN — edge-узлы кешируют статику и даже динамические ответы
- Кеш приложения — Redis или Memcached хранят результаты запросов и вычислений
- OPcache — PHP кеширует скомпилированный байткод
- Query cache БД — некоторые СУБД кешируют результаты запросов (в MySQL 8+ убрали)
Инвалидация
Самая сложная часть кеширования — решить, когда данные устарели. Две стратегии: TTL (время жизни) — проще, но данные могут быть устаревшими; event-based invalidation — точнее, но сложнее реализовать.