Para quem não é da área de tecnologia é fácil pensar que "problema de cache" é uma desculpa do cara da TI para se livrar da culpa por algum problema, afinal, sempre que algo dá errado, o técnico dá uns cliques e diz que era culpa do Judas, quero dizer, cache. Pois bem, pare de brigar com seu técnico, afinal, o famoso "problema de cache" existe e, apesar de ser mais uma solução do que um problema, ele pode atrapalhar bastante seu trabalho.


Em termos técnicos, o cache é um recurso programável que permite que um sistema armazene com certa frequência uma determinada informação que ele poderá utilizar num determinado período. Complicado? Pense no seu colega de trabalho que veio lhe pedir uma caneta emprestada e logo depois devolveu, trabalhar com cache é, basicamente, o mesmo que você deixar esta caneta em cima da mesa esperando pela próxima vez que alguém pedi-la emprestada, ao invés de guarda-la na gaveta.


Para tornar a internet mais rápida, praticamente tudo trabalha com algum tipo de cache. Isso acontece quando você digita o endereço de um site na barra de endereço do seu navegador, a primeira coisa que seu navegador fará é procurar no cache de navegação para saber se há algo que ele possa aproveitar, depois procurará no cache do seu sistema operacional para saber se o endereço já foi acessado, depois irá para a internet, onde passará por um servidor que armazenou previamente (em cache) o local exato onde o site está hospedado. O site, por sua vez, também armazenou em cache algumas informações que são mais acessadas. Se você achou isso demais, digo que esse é um caminho resumido, pois há mais mistérios entre o cache e a internet do que imagina nossa vã filosofia.


Agora que você já deve ter percebido que o "problema de cache" na verdade pode ser em qualquer uma dessas etapas, vamos aos lugares em que a Qualidade.co pode usar cache em seus sites e sistemas.


  • Utilizamos um tipo de cache automático do banco de dados, que armazena as informações que estão sendo mais acessadas. Este cache dificilmente pode dar problema, uma vez que quando a informação muda, ela é renovada no cache;
  • Utilizamos um cache transitório que se renova sempre que necessário. Usamos este tipo de cache para cálculos complexos que podem ser solicitados novamente em um curto espaço de tempo e para consulta a serviços externos de baixa fidelidade, como Facebook, Google, Twitter, Instagram, etc. No caso de consulta a serviços externos, este tipo de cache pode apresentar informações desatualizadas por um período de tempo;
  • Utilizamos cache para imagens, scripts e folhas de estilo com longo prazo diretamente no servidor de distribuição de conteúdo, isso faz com que visitantes do site carreguem o conteúdo mais rapidamente onde quer que estejam. Este tipo de cache pode fazer com que imagens apagadas não sejam excluídas na mesma hora e scripts atualizados demorem para serem renovados;
  • Informamos o navegador de internet que o conteúdo pode ser armazenado em cache por períodos que variam de acordo com o conteúdo, podendo ser de 48 horas até 7 dias. Este é o cache que faz com que o visitante passe de uma página para outra do site de forma mais rápida, assim como faz com que o site abra rapidamente quando ele retorna ao site. Cache de navegador é o tipo de cache que é mais comumente visto como um problema, pois ele fica armazenado no computador do visitante e é o usuário que deve limpá-lo. Felizmente, há meios fáceis para limpar o cache do navegador, por exemplo, se você usa Google Chrome, basta pressionar as teclas CONTROL (CTRL) e F5 ao mesmo tempo. Quando fazemos uma atualização estrutural importante no site, também temos como utilizar técnicas para forçar esta atualização;
  • Os servidores que fazem a magia da internet acontecer utilizam cache para armazenar o local exato para onde um determinado domínio aponta. Este cache pode ser um percalço sempre que um domínio é criado ou alterado, pois há um tempo de propagação do novo endereço do domínio que geralmente leva entre 30 minutos e 4 horas, mas pode chegar a 24 horas ou mais. Para este tipo de cache, realmente, não há escapatória, a vantagem é que essa alteração não é frequente, podendo o site estar publicado há anos sem nunca ser afetado.


Além da internet, o cache também é útil em vários contextos que vão até o nível de comunicação do processador do seu computador com outros periféricos, mas todas as suas utilidades visam trazer a informação mais rápida para você.



Entendendo o cache do navegador


Toda vez que você acessa um website, o servidor avisará o seu navegador de internet por quanto tempo cada arquivo do site deve ficar guardado. Estes arquivos guardados no computador deixam a navegação no site mais rápida, afinal, eles estão no seu computador e não precisam ser baixados novamente da internet. Chamamos isso de cache do navegador.


Cada elemento baixado é um arquivo, e cada tipo de arquivo pode ter um tempo diferente de expiração. Depois de expirado, caso você volte a visitar o mesmo website, o arquivo será substituído por uma versão mais recente. Imagens, vídeos e sons são tipos de arquivos que podem ter um tempo de expiração longo, o mesmo para os arquivos estruturais do seu site, como os que definem cores, fontes e posicionamentos padrões no site (folhas de estilo) e os que definem a interação nas páginas (JavaScript).


Você pode atualizar o cache do seu navegador limpando seus dados de navegação ou pressionando simultaneamente os botões [CTRL] e [F5], no Windows, mas você não pode apagar o cache de todos os visitantes, a não ser que altere o nome do arquivo que está publicando em seu site. Arquivos com nomes diferentes são novos elementos à serem armazenados pelo cache do navegador.


Nos atuais padrões da internet, é recomendável caches de longa duração para diversos tipos de arquivos, isso torna a internet mais rápida para todos e é uma recomendação dos mecanismos de buscas, como Google.