Mise en cache (Caching)

Technique de stockage temporaire permettant d'accéder plus rapidement aux données fréquemment utilisées.

Le cache est partout : dans le processeur (L1, L2, L3), dans les bases de données (Redis, Memcached), sur le réseau (les CDN qui rapprochent les images des utilisateurs) et dans votre navigateur web.

        graph LR
  Center["Mise en cache (Caching)"]:::main
  Rel_file_systems["file-systems"]:::related -.-> Center
  click Rel_file_systems "/terms/file-systems"
  Rel_cpu_cache["cpu-cache"]:::related -.-> Center
  click Rel_cpu_cache "/terms/cpu-cache"
  Rel_cache["cache"]:::related -.-> Center
  click Rel_cache "/terms/cache"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explique-moi comme si j'avais 5 ans

C'est comme écrire le numéro de téléphone de ta mère sur un post-it collé sur ton écran, au lieu d'aller chercher un gros annuaire dans une autre pièce à chaque fois. Le post-it est petit, mais il contient l'information dont tu as le plus besoin immédiatement.

🤓 Expert Deep Dive

Le cache matériel repose sur la localité spatiale et temporelle. Les caches utilisent des politiques d'éviction (comme LRU : Least Recently Used) pour gérer l'espace limité. Le problème le plus complexe est l'invalidation du cache (Cache Invalidation) : savoir quand purger l'ancienne donnée pour ne pas servir des informations périmées.

❓ Questions fréquentes

Why not just make the cache big enough to hold everything?

Cost and physics. Cache storage (like SRAM inside a CPU or RAM for a database) is extremely fast but very expensive per gigabyte. Primary storage (like hard drives or SSDs) is much cheaper but much slower. Caching provides the best of both worlds.

What does it mean to 'clear your cache'?

When you clear your web browser's cache, you are deleting the temporary files (images, scripts) it saved from websites you visited. This is often necessary if a website updates its design but your browser is stubbornly loading the old, cached version.

What is a 'cache miss'?

A cache miss occurs when a system looks for data in the cache but doesn't find it. It must then fetch the data from the slower primary storage, which takes longer, and then it typically copies that data into the cache for next time.

📚 Sources