27 octobre 2026 · 2 min de lecture
Le cache : retenir pour ne pas tout refaire
Le cache garde une copie de ce qu'on vient d'obtenir pour répondre plus vite la fois suivante. Pourquoi il accélère tout, et pourquoi il peut afficher du périmé.
- performance
- bases
Pourquoi un site que vous avez déjà ouvert s'affiche presque instantanément la deuxième fois ? Grâce au cache.
L'idée : garder une copie à portée de main
Imaginez que vous demandiez la même chose cent fois à quelqu'un qui doit à chaque fois aller la chercher à l'autre bout du bâtiment. Plus malin : il en rapporte une copie, la pose sur son bureau, et vous répond tout de suite.
Le cache, c'est ce bureau. Une copie temporaire de quelque chose qu'on a déjà obtenu ou calculé, rangée à un endroit plus proche ou plus rapide, pour la réutiliser au lieu de tout refaire.
Deux cas possibles
- Dans le cache (un « hit ») : la réponse est déjà là, elle part tout de suite.
- Pas dans le cache (un « miss ») : on va la chercher à la source, c'est plus long, puis on en garde une copie pour la prochaine fois.
Où se cache-t-on ?
Presque partout, souvent plusieurs fois en même temps :
- Votre navigateur garde les images, les styles et les scripts d'un site déjà visité.
- Un réseau de diffusion (CDN) tient des copies d'un site dans des serveurs répartis dans le monde, près de chaque visiteur.
- Le serveur de l'application retient le résultat d'une opération coûteuse, par exemple dans Redis.
- La base de données garde en mémoire les données qu'on lui demande souvent.
Le prix à payer : le périmé
Une copie peut devenir fausse. Si le prix d'un produit change alors que le cache en garde l'ancien, certains visiteurs voient un prix périmé.
On règle ça de deux façons :
- une durée de vie (TTL) : la copie expire au bout de quelques secondes, minutes ou heures, puis on la refait ;
- une invalidation : quand la donnée change, on supprime la copie tout de suite.
Savoir quand jeter une copie est notoirement difficile : c'est la partie délicate du cache.
Attention aux données personnelles
Un cache partagé ne doit jamais garder une page propre à un utilisateur (son compte, son panier) et la servir à quelqu'un d'autre. Dans ce cas, on ne met pas en cache, ou on met en cache par utilisateur.
À retenir
Le cache échange de la fraîcheur contre de la vitesse. À mettre sur ce qui est lent à obtenir et qui change peu, avec une durée de vie claire, et jamais sur des données personnelles partagées.