Le mag

Cache informatique : comprendre son rôle et son fonctionnement

10 min de lecture ·Mis à jour le 24 janvier 2025 ·Par la rédac WTRNS

Un cache informatique est un mécanisme de stockage temporaire conçu pour fournir une donnée plus vite que sa source d’origine. Il intervient partout : dans le processeur d’un ordinateur, le navigateur web, le système d’exploitation, une base de données, une application mobile ou un réseau de diffusion de contenu. Bien utilisé, il réduit les temps de réponse, limite les calculs répétés et soulage les serveurs. Mal configuré, il peut toutefois afficher une information périmée, compliquer le débogage ou exposer des données sensibles.

Qu’est-ce qu’un cache informatique ?

Le mot cache désigne une copie locale, temporaire et plus rapidement accessible d’une donnée, d’un résultat de calcul ou d’une ressource. Au lieu de relire ou de recalculer systématiquement l’information depuis sa source — disque, mémoire vive, base de données, serveur distant ou API — le système vérifie d’abord si une version exploitable est déjà disponible dans le cache.

Une page web, une image, une requête SQL, une instruction processeur, un fichier CSS ou le résultat d’un appel API peuvent ainsi être mis en cache. Le principe est identique dans tous les cas : privilégier la réutilisation d’une donnée récemment ou fréquemment demandée.

Le cache s’appuie sur un constat simple : dans les usages réels, certaines données sont demandées plusieurs fois dans un intervalle rapproché. C’est le principe de localité. La localité temporelle concerne les données utilisées récemment ; la localité spatiale désigne les données proches d’une information déjà consultée, souvent demandées ensuite.

Comment fonctionne un cache ?

Lorsqu’un logiciel, un processeur ou un navigateur a besoin d’une donnée, il suit généralement une séquence en quatre temps :

  1. Recherche : le système consulte le cache à l’aide d’une clé, d’une adresse mémoire, d’une URL ou d’un identifiant de requête.
  2. Cache hit : si une version valide est trouvée, elle est renvoyée immédiatement. On parle de succès de cache.
  3. Cache miss : si la donnée est absente, expirée ou non valide, le système va la chercher à la source. C’est un défaut de cache.
  4. Remplissage et expiration : la donnée récupérée peut être enregistrée dans le cache pour une durée donnée, puis remplacée ou supprimée lorsque l’espace manque ou que sa durée de vie est terminée.

La performance d’un cache se mesure notamment par son taux de succès : plus la part de requêtes servies depuis le cache est élevée, moins le système sollicite sa source lente ou coûteuse. Un taux élevé n’est toutefois utile que si les données renvoyées restent exactes et pertinentes.

Pour choisir quelles entrées conserver, les systèmes appliquent des politiques d’éviction. Certaines privilégient les éléments les moins récemment utilisés, d’autres les moins fréquemment utilisés ou ceux dont la durée de vie est arrivée à échéance. Dans les processeurs modernes, ces politiques sont souvent des approximations matérielles afin de rester extrêmement rapides.

Hiérarchie des caches processeur : L1, L2 et L3

Dans un ordinateur, le cache processeur réduit l’écart considérable de vitesse entre le CPU et la mémoire vive. Il est habituellement construit en mémoire SRAM, plus rapide mais nettement plus coûteuse et moins dense que la DRAM utilisée pour la RAM. C’est pourquoi il est de petite capacité et placé au plus près des cœurs du processeur.

NiveauEmplacement habituelCaractéristique principaleUsage
Cache L1Au sein de chaque cœurLe plus rapide, très petite capacitéInstructions et données immédiatement nécessaires
Cache L2Généralement associé à un cœurPlus grand, légèrement moins rapideDonnées non trouvées dans le L1
Cache L3Souvent partagé entre plusieurs cœursCapacité plus importante, latence plus élevéeDernier niveau avant la mémoire vive
Mémoire viveModules RAM de la machineBien plus grande, mais plus lente que les caches CPUProgrammes et données en cours d’utilisation

Le processeur consulte d’abord le L1, puis le L2, le L3 et enfin la RAM si nécessaire. L’organisation exacte varie selon les architectures : certains processeurs séparent le cache L1 des instructions et des données, tandis que les capacités et les latences diffèrent fortement d’un modèle à l’autre. Une taille de cache plus élevée peut améliorer certains usages, mais elle ne résume pas à elle seule les performances d’un processeur.

Les principaux types de cache

Le cache processeur est le plus connu, mais il n’est qu’une forme parmi d’autres. Chaque niveau d’une architecture peut intégrer son propre cache.

Type de cacheCe qui est conservéObjectifExemple concret
Cache navigateurImages, feuilles de style, scripts, policesÉviter les téléchargements répétésUn site se charge plus vite lors de la seconde visite
Cache systèmeFichiers et blocs récemment lusRéduire les accès au stockageOuverture plus rapide d’un document déjà consulté
Cache applicatifRésultats d’API, pages, objets métierRéduire les calculs et requêtes répétitifsListe de produits ou tableau de bord
Cache de base de donnéesPages de données, index, résultatsLimiter les lectures disque et requêtes coûteusesConsultation fréquente d’un catalogue
CDN ou cache edgeRessources et pages diffusées sur le réseauServir les visiteurs depuis un point procheImage servie depuis un nœud géographique voisin
Cache DNSCorrespondances entre nom de domaine et adresse IPÉviter une résolution DNS répétéeAccès plus rapide à un domaine récemment visité

Un site web performant combine souvent plusieurs couches : navigateur côté visiteur, CDN en périphérie du réseau, cache de page sur le serveur, cache d’objets pour l’application et cache interne à la base de données. Les couches ne se remplacent pas nécessairement ; elles répondent à des goulots d’étranglement différents.

Cache et mémoire vive : quelles différences ?

Cache informatique

  • Capacité relativement limitée.
  • Accès très rapide ou proche de l’utilisateur.
  • Contient une copie temporaire de données sélectionnées.
  • Géré automatiquement ou selon des règles de durée de vie.
  • Vise à éviter un accès plus lent ou un recalcul.

Mémoire vive (RAM)

  • Capacité beaucoup plus importante.
  • Accès rapide, mais habituellement moins rapide que le cache CPU.
  • Héberge les programmes et données actifs.
  • Gérée par le système d’exploitation et les applications.
  • Constitue l’espace de travail principal de la machine.

La RAM et le cache sont généralement volatils : leur contenu n’est pas garanti après extinction de l’appareil. Il ne faut pas non plus confondre le cache avec le stockage permanent d’un SSD ou d’un disque dur. Certains caches peuvent utiliser le disque pour gagner en capacité, mais ils seront alors moins rapides qu’un cache maintenu en mémoire.

Bénéfices, limites et risques du cache

Le principal bénéfice est la réduction de la latence. Servir une image depuis le navigateur ou un résultat depuis une mémoire distribuée évite un trajet réseau, une lecture de disque ou une requête de base de données. Le cache améliore également la capacité d’absorption des pics de trafic, car le serveur d’origine reçoit moins de demandes identiques.

Mais le cache introduit une difficulté majeure : la cohérence. Si le prix d’un produit, le stock disponible ou les droits d’un utilisateur changent, une ancienne réponse mise en cache ne doit pas être servie trop longtemps. Le problème n’est donc pas seulement de mettre en cache ; il faut surtout savoir quand rafraîchir ou invalider une donnée.

  • Donnée périmée : une durée de vie excessive peut afficher une information obsolète.
  • Fuite de données : une page personnalisée mal mise en cache peut être envoyée à un autre utilisateur.
  • Effet de pic à l’expiration : si de nombreuses clés expirent simultanément, toutes les requêtes reviennent à la source.
  • Complexité : plusieurs couches de cache rendent les incidents plus difficiles à diagnostiquer.
  • Consommation mémoire : un cache surdimensionné ou mal limité peut évincer d’autres processus utiles.

La règle pratique est simple : mettez en cache ce qui est coûteux à produire, souvent relu et suffisamment stable. Évitez de mettre en cache publiquement les données privées, personnalisées ou critiques sans mécanisme de contrôle strict.

Mettre en place une stratégie de cache efficace

Pour un site, une application ou une API, une stratégie efficace commence par l’identification des opérations réellement lentes. Ajouter un cache sans mesure préalable peut masquer un problème de requête, d’indexation ou d’architecture sans le résoudre.

  1. Mesurer la source : repérez les pages lentes, appels API répétitifs, requêtes de base de données lourdes et ressources les plus téléchargées.
  2. Classer les données : distinguez les contenus publics, personnalisés, sensibles, volatils et quasi immuables.
  3. Choisir la bonne couche : navigateur et CDN pour les fichiers statiques, cache applicatif pour les résultats calculés, cache de base pour les accès aux données, cache serveur pour les pages publiques.
  4. Définir une durée de vie : utilisez un TTL cohérent avec la fréquence de mise à jour. Une image versionnée peut rester longtemps en cache ; un stock ou un panier doit être actualisé beaucoup plus vite.
  5. Prévoir l’invalidation : lors d’une mise à jour, supprimez ou renouvelez précisément les entrées concernées plutôt que de purger tout le cache sans nécessité.
  6. Surveiller : suivez le taux de succès, la latence, la mémoire consommée, les erreurs et le nombre de requêtes qui atteignent la source.

Les en-têtes HTTP à connaître

Pour le web, les en-têtes HTTP déterminent largement le comportement des navigateurs, proxys et CDN. Cache-Control permet notamment d’indiquer une durée de conservation avec max-age, de préciser qu’une réponse est publique ou privée, ou d’éviter son stockage avec no-store. Les validateurs comme ETag et Last-Modified permettent de vérifier si une ressource a changé, sans forcément la retransférer entièrement.

Les contenus statiques versionnés — par exemple un fichier dont le nom change après chaque mise à jour — se prêtent particulièrement bien à une longue conservation. À l’inverse, une réponse liée à une session, à un compte client ou à une autorisation doit être marquée de façon restrictive et testée avec attention.

Vider le cache : quand et comment ?

Vider le cache force le système à récupérer ou reconstruire des données fraîches. Cette action est utile si un navigateur affiche une ancienne version d’un site, si des fichiers statiques ne se mettent pas à jour, si une application présente un comportement incohérent ou après un déploiement mal invalidé.

Dans un navigateur, l’utilisateur peut supprimer les fichiers et images en cache depuis les paramètres de confidentialité. Un rechargement forcé peut aussi aider ponctuellement. Côté serveur, il est préférable de purger uniquement les URLs, clés ou tags concernés, afin d’éviter une surcharge brutale de la base de données ou du serveur d’origine.

Supprimer le cache n’efface normalement ni le compte en ligne ni les fichiers personnels stockés dans le cloud. En revanche, selon les options cochées, cela peut supprimer des données de site, déconnecter l’utilisateur ou ralentir temporairement le prochain chargement des pages.

Coûts et critères de choix

Le cache a un coût, même lorsqu’il semble invisible. Dans un ordinateur, le cache CPU est intégré au processeur et contribue à son prix. Dans une application, le coût porte sur la mémoire, les serveurs, la supervision, la redondance et le temps de maintenance. Les solutions gérées dans le cloud sont généralement facturées selon la mémoire allouée, la puissance des nœuds, le trafic, la haute disponibilité et parfois les opérations effectuées.

Il n’existe donc pas de prix universel pour « un cache ». Une petite application peut exploiter un cache local avec un coût d’infrastructure limité, tandis qu’un service à fort trafic peut nécessiter un cluster mémoire répliqué et un CDN. Le bon choix dépend davantage du volume de requêtes, de la taille des objets, du niveau de disponibilité attendu et de la sensibilité des données que du seul prix d’entrée.

  • Choisissez un cache local pour une application simple, si la perte du cache au redémarrage est acceptable.
  • Préférez un cache distribué lorsque plusieurs serveurs doivent partager les mêmes données temporaires.
  • Ajoutez un CDN pour réduire la latence géographique et décharger l’origine sur les contenus publics.
  • Prévoyez une politique de sécurité stricte pour les sessions, profils, commandes et informations personnelles.

Sur le plan légal, un cache ne doit pas être assimilé aux cookies. Le cache du navigateur stocke principalement des ressources techniques ; les cookies servent souvent à mémoriser un identifiant, un choix ou une session. Si des données personnelles transitent dans des réponses mises en cache, l’organisation doit respecter les principes de protection des données : minimisation, durée de conservation adaptée, contrôle des accès et prévention de la diffusion à un tiers. Une réponse authentifiée ne doit pas être placée dans un cache public sans règles explicites et vérifiées.

FAQ

À quoi sert le cache informatique ?

Il sert à conserver temporairement une copie de données ou de résultats afin de les fournir plus vite lors d’une prochaine demande. Il réduit ainsi les accès à la mémoire, au disque, au réseau, à la base de données ou au serveur d’origine.

Quelle est la différence entre mémoire cache et RAM ?

La mémoire cache est une mémoire très rapide et de faible capacité, placée au plus près du processeur ou d’un service. La RAM est beaucoup plus grande et sert d’espace de travail principal aux programmes. Le cache conserve une sélection de données jugées utiles pour accélérer les accès.

Est-ce dangereux de vider le cache ?

Non, dans la plupart des cas. Vider le cache supprime des copies temporaires qui seront recréées si nécessaire. Cela peut toutefois ralentir temporairement les applications et, selon les données sélectionnées lors du nettoyage, déconnecter certains sites ou supprimer des préférences locales.

Pourquoi le cache peut-il afficher une ancienne version d’un site ?

Parce que le navigateur, le CDN ou le serveur conserve une ressource jusqu’à son expiration ou son invalidation. Si les règles de durée de vie sont trop longues, ou si la purge n’a pas été effectuée après une mise à jour, une version périmée peut continuer à être affichée.

Le cache améliore-t-il toujours les performances ?

Non. Il est très efficace pour des données souvent demandées et peu changeantes. Pour une donnée unique, très volatile ou strictement personnalisée, sa gestion peut coûter plus cher que le gain obtenu. Un cache mal configuré peut aussi provoquer des erreurs de cohérence.

Les cookies sont-ils un cache ?

Non. Les cookies stockent généralement de petites informations associées à un navigateur, comme une session ou une préférence. Le cache conserve plutôt des ressources et réponses afin d’éviter de les télécharger ou de les recalculer. Les deux mécanismes peuvent coexister sur un même site.

Ce guide t’a aidé ?

Explore les autres guides qui pettent.

Tous les guides →