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