Le cache est un mécanisme de stockage temporaire qui conserve des données fréquemment consultées pour les restituer plus rapidement, sans recalculer ou interroger la source d'origine à chaque requête. C'est le levier de performance le plus efficace dans une application web.
Niveaux de cache
Le cache opère à plusieurs niveaux : navigateur (assets statiques), reverse proxy (Varnish, Nginx, Cloudflare), applicatif (Redis, APCu) et base de données (query cache). Chaque couche réduit la charge sur la suivante.
Impact sur la performance
Un cache bien configuré peut diviser les temps de réponse par 10 à 100. Symfony fournit un composant Cache natif et supporte le cache HTTP (headers, ETags). L'invalidation du cache est le défi principal : servir des données fraîches sans sacrifier la vitesse.
Le cache est souvent le levier d'optimisation au meilleur rapport effort/impact. Avant d'optimiser du code, vérifiez que vous exploitez correctement les différentes couches de cache disponibles.