Cache: definição e todos os campos em que o cache é usado

As áreas em que o cache é usado, do hardware à web, foram organizadas em uma única árvore seguindo as classificações da Wikipédia, do MDN e da documentação oficial do WordPress. CPU, sistema operacional, banco de dados e navegador usam o mesmo nome, então o que é apagado ao limpar o cache depende da camada.
O cache guarda temporariamente dados usados com frequência ou que logo serão necessários em um armazenamento mais rápido que o original e, quando chega a mesma solicitação, responde com essa cópia em vez do original.
O artigo da Wikipédia em inglês Cache (computing) divide os caches em caches de hardware, como os de CPU e GPU, e caches de software, como os de disco, web, DNS e banco de dados. A árvore abaixo agrupa essa classificação pelo lugar onde cada cache fica, e os caches web seguem a divisão do MDN entre private cache e shared cache.
No simulador do artigo Cache do site & cache interno do servidor: como funciona o cache do WordPress você pode ver a ordem em que o cache do navegador, a CDN e o cache interno do servidor tratam uma única solicitação do WordPress.
Ⅰ. Dispositivos do usuário
O cache em dispositivos do usuário, como computadores pessoais e smartphones, pode ser dividido em cache do sistema operacional (SO), cache do navegador e cache de aplicativos móveis.
O cache de disco (cache de páginas) mantém na memória os dados lidos do disco e é gerenciado pelo kernel do sistema operacional. O cache de DNS guarda os domínios e endereços IP consultados recentemente.
Quando o mesmo recurso é solicitado de novo, a solicitação não vai até o servidor ou só verifica se ele mudou. Com um Service Worker (Cache API), um app web pode abrir com os recursos armazenados mesmo offline.
Apps que lidam com conteúdo pesado guardam no dispositivo os dados baixados e as listas vistas recentemente para não baixar os mesmos dados de novo.
Ⅱ. Cache de servidor e de aplicação
O cache do lado do servidor é o cache que entra no processo de montar a página depois que a solicitação chega ao servidor. A documentação oficial do WordPress o divide em plugins de cache (cache de página), cache de objetos e cache de servidor (caches de opcode como o OPcache).
Para a mesma página, envia a cópia armazenada sem executar o PHP. Há plugins de cache e caches do servidor web.
Quando o mesmo arquivo é executado de novo, a compilação é pulada. Vem incluído por padrão desde o PHP 5.5.
Guarda os dados usados com frequência em um armazenamento em memória para não repetir a mesma consulta.
Os frameworks web guardam templates renderizados e resultados de consultas no próprio cache.
Ⅲ. Cache de entrega de conteúdo / infraestrutura de rede
Os caches da infraestrutura de rede respondem com cópias entre o visitante e o servidor de origem, reduzindo a distância física e a carga do servidor de origem. No padrão de cache HTTP, eles correspondem ao shared cache, usado por vários visitantes.
Entrega o conteúdo a partir do servidor mais próximo do visitante entre servidores espalhados pelo mundo. A estrutura e as vantagens estão no artigo O que é CDN? Motivos para usar uma CDN e 5 vantagens dedicado ao assunto.
O proxy direto guarda as respostas na frente do cliente, como em uma rede corporativa, e o proxy reverso as guarda na frente do servidor.
Os equipamentos de rede guardam as associações no cache ARP, e os resolvedores DNS das operadoras e os públicos guardam os resultados das consultas durante o TTL do registro.
Ⅳ. Cache de banco de dados e de sistemas de armazenamento
Como a E/S de disco é lenta, bancos de dados e dispositivos de armazenamento mantêm na memória os dados lidos com frequência.
Mantém na memória os dados lidos com frequência e os índices. O query cache do MySQL foi removido na versão 8.0; o MariaDB ainda o tem, mas ele vem desativado por padrão.
A memória embutida no controlador do disco rígido e a DRAM dentro do SSD guardam dados temporariamente e reduzem a latência de E/S.
Ⅴ. Cache em nível de hardware
Os caches de hardware são memórias de alta velocidade dentro da CPU e da GPU que processam dados mais rápido que a memória principal (RAM).
O L1 existe separadamente em cada núcleo e se divide em cache de instruções e cache de dados, enquanto o L3 é compartilhado por todos os núcleos. A unidade de gerenciamento de memória (MMU) guarda no TLB os resultados da tradução de endereços virtuais em endereços físicos.
Aumenta a eficiência de processamento da GPU em jogos, gráficos 3D e cálculos de machine learning.
Ⅵ. Cache em ambientes de nuvem / virtualização
Ambientes de nuvem e de virtualização reutilizam imagens de contêiner, ambientes de execução de funções e artefatos de build para reduzir o tempo de implantação e de execução.
Uma imagem Docker é formada por várias camadas, e as camadas que não mudaram não são reconstruídas nem baixadas de novo.
Mantém por um tempo o ambiente de execução de uma chamada já concluída e o reutiliza na chamada seguinte, reduzindo o tempo de inicialização (Cold Start) (Warm Start).
Reduz o tempo de builds repetidos.
🔢 FAQ & conteúdo recomendado









ℹ️ Aviso de afiliados
O conteúdo deste site contém links de afiliados. Quando um visitante compra um produto ou serviço por meio de um desses links, o site recebe uma comissão do vendedor. O valor que o comprador paga (em promoções, ele diminui ↓) não aumenta por causa disso. Preços, descontos e informações de estoque valem para o momento em que o texto foi escrito e podem ter mudado, por isso confirme com o vendedor antes de comprar. Os produtos são escolhidos e avaliados por critérios próprios, e o recebimento de comissão não influencia a ordem de apresentação nem o conteúdo das avaliações.