Entendendo os diferentes tipos de cache (principalmente para escalar sites com CMS)
Se você já se perguntou o que as pessoas querem dizer quando falam em “cache de página”, “cache de objetos” ou “cache de CDN”, este post é para você. Essas são as três principais camadas de cache, que fazem uma diferença enorme na hora de escalar o WordPress, o WooCommerce ou qualquer outro CMS.
O que é cache de página?
O cache de página (também chamado de cache de página inteira ou cache de HTML) é exatamente o que o nome diz: a página HTML inteira já renderizada é salva como um arquivo estático.
Em um site realmente estático (HTML + CSS + JS puros), não há necessidade de cache de página, porque todos os arquivos já são estáticos. Mas, com um CMS como o WordPress, cada requisição normalmente dispara PHP → tema → plugins → consultas ao banco de dados → saída em HTML. Esse processo consome CPU e leva tempo.
O cache de página inteira pula tudo isso. O primeiro visitante dispara o processo completo de PHP+MySQL, o HTML resultante é salvo, e todos os visitantes seguintes recebem na hora o HTML estático já gerado — sem PHP, sem consultas ao banco de dados, com quase zero de CPU.
Resultado: carga no servidor de 10 a 100× menor e páginas carregando muito mais rápido.
O que é cache de objetos?
O cache de objetos guarda os resultados de consultas caras ao banco de dados (ou de qualquer processamento lento) em uma memória rápida (geralmente Redis ou Memcached).
Pense nele como um intermediário superrápido entre o seu código PHP e o banco de dados.
Exemplo com o WordPress:
- O WordPress precisa da lista de posts publicados → ele pergunta ao MySQL.
- Primeira requisição: o MySQL faz o trabalho e devolve os dados, e o cache de objetos os salva na RAM.
- As próximas 10 000 requisições: o cache de objetos devolve na hora os mesmos dados direto da memória → o MySQL dorme em paz.
O cache de objetos é esperto — ele se invalida sozinho quando os dados mudam (por exemplo, quando você publica um post novo).
Por que você ainda precisa dele, mesmo com o cache de página inteira:
- Usuários logados (incluindo o painel do WordPress, as páginas de conta do WooCommerce etc.) não podem ter a página inteira em cache para todo mundo.
- Essas páginas ainda passam pelo PHP e pelo MySQL → o cache de objetos as deixa toleráveis, em vez de dolorosamente lentas.
Cache de objetos + cache de página inteira juntos formam a combinação clássica para tráfego alto.
O que é cache de CDN?
Uma CDN (Content Delivery Network, ou rede de distribuição de conteúdo) copia seus arquivos estáticos (CSS, JS, imagens, fontes) — e, se você quiser, também suas páginas HTML inteiras — para servidores “PoP” espalhados pelo mundo.
Sem CDN: um visitante no Japão baixa tudo do seu servidor de origem que fica, digamos, no Brasil → latência alta.
Com CDN:
- Os arquivos estáticos são entregues pelo PoP mais próximo (muitas vezes a menos de 30 ms).
- Se você também ativar o cache de página inteira na CDN, a página HTML inteira também é entregue por esse PoP próximo → o servidor de origem nem é tocado nas páginas em cache.
É por isso que alguns sites carregam instantaneamente de qualquer lugar do planeta.
Exemplo real: o fluxo de tráfego do WordPress
Sem nenhum cache
Visitante → servidor web → PHP → dezenas de arquivos de plugins → consultas ao MySQL → HTML → visitante → CPU alta, TTFB lento, bate fácil nos limites de recursos.
Só com cache de página inteira
Primeiro visitante: o mesmo caminho lento de cima (mas o HTML é salvo). Os próximos 10 000 visitantes: o servidor web entrega na hora o HTML pronto → quase zero de CPU.
Só com cache de objetos
Toda requisição ainda roda PHP + plugins, mas as consultas ao banco são respondidas pela RAM em vez do disco → mais rápido que sem cache, mas ainda pesado.
Com cache de página inteira + cache de objetos
- Visitantes anônimos → HTML estático (superrápido, quase sem carga)
- Usuários logados → o PHP roda, mas o cache de objetos deixa as consultas ao banco instantâneas → carga administrável
Adicione por cima uma CDN com cache de página inteira
Agora até o HTML estático é entregue a partir de pontos de borda no mundo todo. O seu servidor de origem pode basicamente tirar um cochilo até que algo realmente precise de PHP (por exemplo, envio de formulários, invalidação de cache).
Conclusão
Aqui está a hierarquia, do mais impactante para o menos (para a maioria dos sites com CMS):
- Cache de página inteira na CDN → o mais rápido para os visitantes, escala para milhões de acessos com quase nenhuma carga na origem.
- Cache de página inteira na origem → ainda é um ganho enorme se você não puder fazer cache na CDN.
- Cache de objetos (Redis/Memcached) → obrigatório para usuários logados, WooCommerce, painéis etc.
- Todo o resto (OPcache, cache do navegador etc.) → bom de ter, geralmente já vem ativado por padrão.
Se você for fazer uma coisa só: ative um cache de página inteira decente (e leve-o para a sua CDN, se possível). Se você tem tráfego de usuários logados ou uma loja: adicione o cache de objetos com Redis/Memcached.
É isso — as três camadas de cache que movem basicamente todo site WordPress com tráfego alto no planeta.
Espero que isso tenha esclarecido as coisas!
Obrigado pela leitura! 😊