O que é cache e por que limpar com código?
Cache é um mecanismo de armazenamento temporário que acelera processos e reduz o consumo de recursos. Sistemas operacionais, frameworks, navegadores e aplicações mantêm cópias de dados, arquivos ou resultados de cálculos para reutilização rápida. Com o tempo, esses dados podem ficar desatualizados ou corrompidos, causando lentidão, erros de execução ou comportamento inesperado. Limpar o cache manualmente é possível, mas escrever um código para limpar o cache automatiza essa tarefa e garante consistência em ambientes de desenvolvimento, servidores ou estações de trabalho. Este guia prático mostra comandos e scripts para Linux, Windows, PHP e navegadores, com exemplos diretos e referências confiáveis.
Por que usar código para limpar o cache?
Interfaces gráficas oferecem opções de limpeza, mas nem sempre acessíveis ou eficientes em larga escala. Em servidores remotos, por exemplo, não há interface disponível. Em aplicações web, o cache pode ser limpo programaticamente após uma atualização. Códigos também permitem limpeza seletiva – como remover apenas o cache de arquivos específicos – e podem ser integrados a scripts de deploy, cron jobs ou assistentes de manutenção. Além disso, muitos tipos de cache exigem privilégios de administrador; um script bem escrito lida com essas permissões de forma controlada.
Os exemplos abaixo abrangem os cenários mais comuns. Cada bloco inclui explicação e o código propriamente dito. Lembre-se de testar em ambiente não crítico antes de aplicar em produção.
Limpeza de cache no Linux e Unix
No Linux, o kernel mantém caches de páginas, dentries (diretórios) e inodes. O arquivo virtual /proc/sys/vm/drop_caches permite descartar esses caches quando necessário, por exemplo, após benchmarks ou antes de testes de desempenho. O comando a seguir limpa pagecache, dentries e inodes de uma vez:
echo 3 > /proc/sys/vm/drop_caches
Este comando exige permissão de root. Uma alternativa segura é sincronizar os dados primeiro com sync, embora não obrigatório. Para limpar apenas um grupo específico – supondo uma aplicação que gerencia caches nomeados – pode-se usar uma variação conceitual, como echo 3 > /proc/sys/vm/drop_caches_group, mas esse arquivo não existe por padrão. A prática recomendada é usar comandos específicos de cada aplicação. Por exemplo, no Joomla existe mosCache::cleanCache('com_events'). Para mais detalhes sobre manipulação de cache no Linux, consulte o artigo no Viva o Linux.

Limpeza de cache em PHP
PHP armazena em cache metadados de arquivos – como data de modificação, tamanho e tipo – através da função stat(). A função clearstatcache() limpa esse cache interno. Ela é útil após operações de criação, exclusão ou renomeação de arquivos durante a execução de um script. O código abaixo mostra o uso:
clearstatcache();
Além disso, frameworks e CMS como Joomla possuem seus próprios mecanismos de cache. No Joomla, o método mosCache::cleanCache($group = false) limpa o cache de uma extensão ou de toda a aplicação. Exemplo:
mosCache::cleanCache('com_content');
Para saber mais sobre a função nativa, veja a documentação oficial do PHP.
Limpeza de cache no Windows
No Windows, os principais alvos são as pastas de arquivos temporários do sistema (%systemroot%\Temp) e do usuário (%temp%). Usando o prompt de comando ou PowerShell, é possível criar scripts que deletam esses arquivos. O comando abaixo limpa a pasta Temp do sistema:

del /s /q %systemroot%\Temp\*.*
E este limpa a pasta Temp do usuário atual:
del /s /q %temp%\*.*
Para limpar o cache do Windows Update, é necessário parar o serviço, excluir a pasta de download e reiniciá-lo. Sequência de comandos:
net stop wuauserv
del /s /q %windir%\SoftwareDistribution\Download\*.*

net start wuauserv
Esses scripts podem ser salvos em um arquivo .bat e executados com privilégios de administrador. Mais detalhes estão disponíveis no artigo Script para limpeza de cache no Windows.
Lista de tipos comuns de cache e onde atuam
A tabela a seguir resume os principais tipos de cache e os ambientes onde são encontrados, facilitando a escolha do código adequado.
- Cache de kernel (Linux) – armazena páginas de memória, estruturas de diretórios e inodes.
- Cache de metadados de arquivos (PHP) – mantém informações de stat() para evitar acesso repetido ao disco.
- Cache de aplicação (Joomla, WordPress) – guarda consultas, HTML renderizado e resultados de APIs.
- Cache de arquivos temporários (Windows) – acumula arquivos de instalação, logs e dados de programas.
- Cache de atualizações (Windows Update) – armazena pacotes de atualização baixados para instalação.
- Cache de navegador (HTTP) – mantém imagens, scripts e folhas de estilo para carregamento rápido.
Comparação de métodos de limpeza por ambiente
A tabela abaixo organiza os comandos e funções apresentados, indicando o ambiente, a ação e um exemplo de código.
| Ambiente | Alvo do cache | Código exemplo |
|---|---|---|
| Linux | Pagecache, dentries, inodes | echo 3 > /proc/sys/vm/drop_caches |
| PHP | Metadados de arquivos | clearstatcache(); |
| Windows | Arquivos temporários | del /s /q %temp%\*.* |
| Windows | Cache do Windows Update | net stop wuauserv & del /s /q %windir%\SoftwareDistribution\Download\*.* & net start wuauserv |
| Navegador | Cache HTTP, cookies, storage | Clear-Site-Data: "cache" (cabeçalho HTTP) |
Limpeza de cache em navegadores web
Do lado do servidor, é possível instruir o navegador a limpar seu cache usando o cabeçalho HTTP Clear-Site-Data. Esse cabeçalho aceita parâmetros como "cache", "cookies", "storage" e "*" para tudo. Exemplo de uso em uma resposta HTTP:
Clear-Site-Data: "cache", "cookies"

Isso faz com que o navegador remova dados cacheados e cookies associados à origem da resposta. Essa técnica é útil ao implantar novas versões de aplicações web que exigem que o cliente recarregue recursos estáticos. Atenção: o cabeçalho pode afetar sessões de usuário, portanto deve ser usado com critério.
Cuidados ao limpar cache com código
Embora útil, a limpeza programática de cache exige precauções. Em sistemas de produção, limpar o cache do kernel pode degradar temporariamente o desempenho até que os dados sejam recarregados. No Windows, deletar arquivos da pasta Temp pode interromper instalações em andamento. Em PHP, clearstatcache() só afeta o processo atual; em ambientes compartilhados, cada processo mantém seu próprio cache. Sempre confirme os privilégios necessários: comandos como echo 3 > /proc/sys/vm/drop_caches exigem root, e scripts do Windows precisam ser executados como administrador para acessar certas pastas.
Recomenda-se criar logs das operações de limpeza, especialmente em scripts automatizados. Assim, é possível rastrear quando e quais caches foram removidos, facilitando a depuração de problemas.
Automação e integração
Os códigos apresentados podem ser transformados em scripts reutilizáveis. No Linux, adicione o comando a um script shell e execute via cron. No Windows, crie um arquivo .bat e agende no Task Scheduler. Em aplicações PHP, encapsule a chamada em uma função auxiliar e chame-a após alterações significativas. Para navegadores, configure seu servidor web (Apache, Nginx) para emitir o cabeçalho Clear-Site-Data durante implantações.
Um exemplo de script Linux que limpa caches de kernel e depois reinicia serviços:
#!/bin/bash
sync
echo 3 > /proc/sys/vm/drop_caches
systemctl restart apache2

Já no Windows, um script para limpeza completa de temporários e cache de atualização poderia ser:
@echo off
del /s /q %temp%\*.*
net stop wuauserv
del /s /q %windir%\SoftwareDistribution\Download\*.*
net start wuauserv
Referências
As informações técnicas e comandos deste artigo foram baseados nas seguintes fontes, que fornecem detalhes adicionais e exemplos práticos.
Viva o Linux. Limpando sua memória cache de forma simples. Disponível em: https://www.vivaolinux.com.br/dica/Limpando-sua-memoria-cache-de-forma-simples. Acesso em: 2023.
PHP.net. clearstatcache. Disponível em: https://www.php.net/manual/en/function.clearstatcache.php. Acesso em: 2023.
Procedimento.com.br. Script para limpeza de cache no Windows. Disponível em: https://www.procedimento.com.br/?p=go&os=windows&windows=script-para-limpeza-de-cache-no-windows. Acesso em: 2023.
Joomla Forum. mosCache::cleanCache. Disponível em: https://forum.joomla.org/viewtopic.php?t=158779. Acesso em: 2023.





