Cache (Caching)
Técnica de armazenamento temporário que guarda dados frequentemente acessados para acelerar a recuperação.
O cache existe em todos os níveis: no processador (para não esperar pela memória RAM), no servidor (Redis, Memcached), na rede de distribuição de conteúdo (CDNs) e no seu próprio navegador de internet.
graph LR
Center["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 como se eu tivesse 5 anos
Imagine ter que ir a outra sala procurar o número da sua mãe numa lista telefônica gigante sempre que quiser ligar para ela. Fazer [cache](/pt/terms/cache) é como anotar o número num post-it e colar no monitor. O post-it é pequeno, mas tem a informação que você precisa na hora.
🤓 Expert Deep Dive
O cache de hardware (L1/L2/L3) depende da localidade temporal e espacial. O sistema usa políticas de substituição como LRU (Least Recently Used) para liberar espaço. O maior desafio é a 'Invalidação de Cache': garantir que, quando o dado original mudar, a cópia no cache seja destruída para que o usuário não veja informações antigas.
❓ Perguntas frequentes
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.