Qu'est-ce que la mise en cache (caching) ? Et pourquoi elle accélère tout
📷 Andrey Matveev · Pexels✦ Points clés
- Un cache est une copie proche et rapide de données susceptibles d'être redemandées, évitant recalcul ou re-téléchargement.
- Un « hit » signifie que la donnée est là ; un « miss » implique de revenir à la source lente.
- Des caches existent à chaque niveau : CPU, navigateur, réseau (CDN) et bases de données.
- Le défi le plus dur est l'invalidation : quand considérer la copie stockée comme périmée ?
La mise en cache (caching) consiste à garder une copie des données fréquemment demandées dans un endroit plus rapide et plus proche, pour éviter de les re-télécharger ou recalculer à chaque fois. L'idée est ancienne et intuitive : au lieu d'ouvrir le dictionnaire chaque fois que vous cherchez le sens d'un mot utilisé quotidiennement, vous le mémorisez. L'ordinateur fait de même à presque tous les niveaux.
Quand une donnée est demandée, on vérifie d'abord le cache. Si elle s'y trouve, c'est un hit, très rapide. Sinon, c'est un miss : on revient à la source lente (disque, réseau, base de données) puis on stocke une copie pour la prochaine fois. Un taux de hits élevé mesure le succès d'un cache.
🌐 Temps de téléchargement
Durée de téléchargement selon votre débit — instantané.
Des caches existent à plusieurs niveaux, chacun avec un but :
| Niveau | Ce qu'il stocke | Bénéfice |
|---|---|---|
| Cache CPU | Instructions & données fréquentes | Réduit l'attente mémoire |
| Cache navigateur | Images & fichiers des sites | Pages plus rapides |
| CDN (réseau de diffusion) | Copies géographiquement proches | Latence réduite |
| Cache base de données | Résultats de requêtes courants | Allège la charge |
Mais le cache n'est pas magique ; son plus gros problème est l'invalidation : comment savoir que la copie stockée est périmée et que la source a changé ? Un adage célèbre dit qu'« il n'y a que deux problèmes difficiles en informatique : nommer les choses et l'invalidation du cache ». D'où des politiques comme le TTL (durée de vie) qui définit après combien de secondes une copie expire.
Et quand le cache est plein, il faut décider quel élément supprimer. La politique la plus courante est LRU (le moins récemment utilisé), qui évince l'élément non demandé depuis le plus longtemps. Il existe aussi LFU (le moins fréquemment utilisé) et d'autres.
Exemple concret : un site d'actualités avec des millions de visiteurs quotidiens ne peut pas générer sa page d'accueil depuis la base pour chaque visiteur. Il la génère une fois et la met en cache une minute ; pendant cette minute, tous les visiteurs sont servis depuis la copie rapide, divisant la charge par des milliers. Cet équilibre entre vitesse et fraîcheur est le cœur de l'art du caching.
En résumé : le cache est l'une des idées les plus simples et puissantes pour améliorer la performance et réduire les coûts, mais bien l'utiliser exige de savoir quand une copie est périmée.
