No mundo tecnológico em que vivemos, novos termos são frequentemente criados para nomear e identificar recursos e tecnologias inéditas. Assim, não é incomum ouvir o nome de alguma tecnologia e não saber o seu significado. Neste artigo, vamos abordar o cache, entender o que é e conhecer sua aplicação quando falamos de hospedagem de sites.
Você sabe o que é cache? Já ouviu falar, mas deseja saber mais sobre o tema? Acompanhe-nos e saiba tudo sobre este poderoso recurso, que pode turbinar a velocidade do seu site e reduzir o consumo de recursos na sua hospedagem.
O que é cache
Em computação, cache (pronuncia-se késh) pode ser tanto um componente físico (hardware) quanto um programa (software) que armazena dados temporariamente. As informações armazenadas neste sistema podem ser acessadas rapidamente, sem que haja necessidade de processamento e/ou busca no banco de dados. O cache é amplamente usado em diversos tipos de dispositivos eletrônicos, incluindo smartphones e computadores pessoais.
Em hospedagem de sites, o cache funciona como um mediador, que fica entre o usuário e o servidor de hospedagem. Assim, quando um usuário navega por um site, o sistema verifica se possui uma cópia da página solicitada. Isso ocorre antes mesmo desta solicitação chegar ao servidor de hospedagem. Caso exista, a cópia é entregue ao usuário, em um processo que leva menos tempo do que o necessário para acessar o servidor e processar o pedido.
Em um servidor sem cache, o funcionamento é diferente, como exibido no digrama abaixo. Nesse caso, todas as solicitações são processadas no servidor e pelos demais itens do sistema.
O balcão de atendimento
Para ilustrar seu funcionamento, podemos comparar o sistema de cache com um balcão de atendimento. Imagine uma sala de atendimento qualquer, onde existe um balcão com alguns funcionários. Atrás do balcão, além dos funcionários que atendem diretamente os clientes, há também um gerente. O gerente não atende diretamente o público. De tempos em tempos, pode ser necessário que um dos funcionários do balcão leve determinada questão para o gerente resolver.
Os clientes chegam a todo momento no balcão de atendimento, com diversos tipos de pedidos. Na maioria dos casos, o cliente resolve seu problema diretamente no balcão, pelo funcionário que está ali. No entanto, os funcionários do balcão não conseguem atender a todos os pedidos. Algumas questões precisam de uma avaliação ou autorização extra, o que só pode ser feito pelo gerente. Assim, a cada 10 pedidos, 8 ou 9 são resolvidos diretamente no balcão. Mas 1 ou 2 precisam ser levados ao gerente, que resolve a questão e devolve a solução ao funcionário. Este, por sua vez, leva a solução de volta para o cliente.
Neste cenário fictício, o cache seria como o balcão de atendimento, pois atende à maior parte das requisições, levando apenas algumas ao servidor.
Agora que entendemos o conceito e o seu funcionamento, vamos conhecer as vantagens de usá-lo em um site.
Vantagens do uso de cache em um servidor de hospedagem
A principal vantagem do uso de um sistema desse tipo em um servidor de hospedagem é o ganho de velocidade. E, em alguns casos, o tempo de carregamento de uma página pode ser de 300 a 1000 vezes mais rápido do que o normal1.
Outra grande vantagem é a redução do uso de recursos do servidor. Como nem todas as requisições chegam ao servidor, o consumo de recursos, como memória e processamento, é reduzido.
Limpeza ou renovação do cache
Pelo fato de trabalhar com cópias de conteúdo, de tempos em tempos o cache precisa ser renovado, ou limpo. Isso se torna necessário sempre que o conteúdo do site ou de uma página é atualizado. Caso contrário, um visitante poderá se deparar com uma versão antiga da página, que está armazenada em cache.
Em geral, os sistemas fazem este trabalho de limpeza ou renovação destas cópias automaticamente. Nesse caso, a cópia do conteúdo é renovada sempre que uma atualização é realizada na página. Em alguns casos, a renovação é feita periodicamente, em intervalos regulares. Assim, garante-se que o conteúdo armazenado seja sempre o mais recente. O processo automático de renovação do cache poupa bastante tempo e facilita o gerenciamento do seu website. Em muitos casos, o cache está implementado na hospedagem sem que você saiba e sem que precise se preocupar com limpeza ou renovação.
A limpeza também pode ser feita manualmente. O processo pode variar e depende do sistema utilizado.
Tipos de cache utilizados em hospedagem
Agora, vamos conhecer algumas das formas de utilização mais comuns do cache, quando falamos de internet e sites.
Navegador de internet
Os próprios navegadores de internet, como o Chrome, Firefox, Edge e outros, armazenam cópias dos sites que você visitou, em um sistema de cache próprio do navegador. O objetivo é o mesmo que mencionamos acima: acelerar o carregamento das páginas. Ao visitar um endereço qualquer na internet, o navegador verifica se já possui uma cópia em cache da página em questão. Caso exista, ele acessa o servidor apenas para verificar se algo foi atualizado na página, exibindo ao usuário o conteúdo armazenado muito mais rápido do que se tivesse que carregar a página inteira novamente.
O sistema de armazenamento dos navegadores funciona para todos os elementos que formam uma página de internet, o que inclui imagens, arquivos de estilo (CSS), scripts (Javascript) e outros. As imagens de um site, por exemplo, são fortes candidatas a serem armazenadas em cache. Desse modo, se um site possui a mesma imagem em diversas páginas (como um logotipo, por exemplo), ela não precisa ser carregada sempre. Uma cópia é usada, nesse caso. O mesmo vale para qualquer script ou arquivo que se repete nas diversas páginas de um site.
Servidor de hospedagem
Em uma hospedagem de sites, o sistema de cache é usado entre o usuário e o servidor de hospedagem. Assim, antes que o servidor precise processar qualquer dado, o conteúdo solicitado é enviado ao usuário, caso a cópia do mesmo exista. Caso contrário, a requisição é levada para o servidor.
Este tipo de sistema pode ser usado com qualquer linguagem de programação e bancos de dados. Alguns servidores web, como o NGINX e o Apache, possuem cache integrado, com o objetivo de entregar conteúdo rapidamente e reduzir a carga de processamento do servidor.
Grande parte das empresas de hospedagem atualmente oferecem soluções desse tipo em seus servidores. Nesse caso, o cache pode ser instalado ou vir configurado por padrão no servidor do cliente. Por ser um recurso que reduz a carga de processamento dos servidores, é desejado, para as empresas, que seus clientes utilizem este tipo de recurso. Se você não sabe se há um sistema de cache na sua hospedagem, entre em contato com o suporte da empresa. Eles com certeza terão esta informação. Se for o caso, você já pode aproveitar o contato e solicitar a instalação do serviço.
Saiba mais: 5 características de um suporte de qualidade (e um motivo para não querer usá-lo)
Varnish cache
Varnish é um sistema de aceleração para sites baseado em cache. O sistema é gratuito e de código aberto (open source). Tecnicamente chamado de proxy reverso HTTP, o Varnish pode ser instalado em qualquer servidor que possua o protocolo HTTP.
A instalação manual do Varnish exige algum conhecimento técnico. Apesar disso, muitas empresas de hospedagem de sites oferecem o Varnish entre seus serviços, podendo ser ativado através do painel de controle da hospedagem ou tendo sua instalação solicitada. Há ainda, algumas empresas que possuem o Varnish configurado por padrão em todos os seus servidores, sem que o usuário precise fazer nenhum tipo de configuração extra para se beneficiar deste recurso.
Uma curiosidade: a palavra varnish, em inglês, significa “verniz”, e foi escolhida em uma alusão ao verniz que é aplicado em objetos reais para dar brilho e destacar sua aparência.
Plugins para CMS
Não podemos falar em sites sem mencionar os gerenciadores de conteúdo. Também conhecido como CMS, este tipo de sistema permite gerenciar e publicar conteúdos em um site, blog ou loja virtual. Isso ocorre através de um painel amigável, sem que haja necessidade de conhecimento técnico. Atualmente, existe uma infinidade de CMSs no mercado, muitos gratuitos. Entre os mais populares, podemos citar o WordPress e o Joomla, para blogs e sites, e o Magento, para lojas virtuais.
A maior parte dos gerenciadores de conteúdo do mercado permite a instalação de plugins, que são pedaços de software que acrescentam recursos e funcionalidades a um CMS. Ter um plugin de cache em seu CMS é praticamente obrigatório, se você deseja ter um site otimizado e que carregue rapidamente. Este tipo de plugin gera cópias completas das páginas do seu site, servindo-as sempre que necessário, com o objetivo de reduzir o tempo de carregamento das páginas de um site, loja virtual ou qualquer aplicação web.
Entre os plugins mais populares, podemos citar o W3 Total Cache, para WordPress, e o JotCache, para Joomla.
CDN
Uma rede de distribuição de conteúdo, ou CDN, como o próprio nome diz, distribui uma cópia do seu conteúdo entre vários servidores espalhados pelo mundo. Assim, ao solicitar a página de um site, o visitante recebe o conteúdo armazenado em cache no data center mais próximo de onde ele está. Em um cenário tradicional, a requisição do usuário seria direcionada para o servidor de origem do site, independente da sua localização.
Por conta deste funcionamento, a CDN consegue acelerar o carregamento de um site em dois aspectos: tanto por cachear o conteúdo do site quanto por acessar um servidor mais próximo fisicamente do usuário.
Conclusão
Quando o desempenho de um site é crucial para o seu negócio, cada milissegundo economizado no carregamento da página conta a seu favor. Para ajudar nessa missão, um bom sistema de cache é fundamental.
Neste artigo, conhecemos os conceitos de cache e suas aplicações no universo da hospedagem de sites. Vimos também os tipos de uso mais populares deste recurso na internet e conhecemos possíveis aplicações.
Caso você tenha ficado com qualquer dúvida sobre o assunto, ou queira apenas acrescentar uma informação ao artigo, deixe um comentário e teremos prazer em conversar. ?
Fonte: Varnish
Muito legal! To aprendendo bastante!
Cofundador - Tudo Sobre Hospedagem de Sites
Que bom, Luanna!
Obrigado pelo comentário!