Caché (Caching)

Técnica de almacenamiento temporal para acceder más rápidamente a los datos solicitados con frecuencia.

El almacenamiento en caché opera en todos los niveles: hardware (CPU), aplicaciones (bases de datos en memoria como Redis), red (CDNs que acercan los archivos estáticos a los usuarios) y nivel cliente (el navegador guardando imágenes locales).

        graph LR
  Center["Caché (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;

      

🧒 Explícalo como si tuviera 5 años

Imagina que cada vez que llamas a tu madre tienes que buscar su número en una guía telefónica gigante en otra habitación. Usar caché es como escribir su número en un post-it y pegarlo en tu monitor. El post-it es pequeño, pero te da la información al instante.

🤓 Expert Deep Dive

La caché de hardware (L1/L2/L3) se basa en el principio de localidad temporal y espacial. Debido a que las cachés son pequeñas, utilizan políticas de desalojo como LRU (Menos Usado Recientemente). El desafío arquitectónico más difícil es la 'Invalidación de Caché', es decir, asegurar que los datos obsoletos se eliminen cuando la fuente original cambia.

❓ Preguntas frecuentes

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.

📚 Fuentes