Object Cache no WordPress: O Que é, Como Funciona, Quais os Tipos e Como Ativá-lo

Object Cache no WordPress: O Que é, Como Funciona, Quais os Tipos e Como Ativá-lo

Se você estiver à procura de opções de otimização de site, então o object cache pode ser perfeito para você.

Um site WordPress é composto por muitos objetos PHP que são constantemente criados, iniciados e removidos pelo gerenciador de memória. No entanto, essas ações podem sobrecarregar seu servidor, fazendo com que seu site fique lento e apresente erros.

Um site que demora para responder às solicitações resulta em uma péssima experiência do usuário e afasta os visitantes, causando prejuízos financeiros. O cache de objetos serve justamente para evitar esse tipo de problema, pois ele otimiza os servidores e aumenta a velocidade de resposta do site.

Neste artigo, você vai aprender o que é um cache de objeto, quais as suas vantagens e como ele pode ajudar o seu site WordPress. Além disso, você poderá conferir as melhores soluções de cache de objeto persistente do mercado: Redis e Memcached.

Um cache de objeto é um método de cache do lado do servidor que armazena os resultados da consulta do banco de dados em uma memória de acesso rápido. Isso permite que, na próxima vez que os dados forem necessários, os resultados sejam retornados rapidamente sem consultar novamente a base de dados. Ele aumenta o desempenho do site, reduz a carga de trabalho do servidor e acelera o tempo de carregamento da página.

Como Funciona o Cache de Objetos

Um cache de objeto é um tipo de cache de servidor que copia e gerencia os dados nele contidos, reduzindo consultas repetidas e desnecessárias. Agora que já sabemos o que é um cache de objetos, vamos ver como ele funciona:

  1. Quando uma pessoa acessa seu site, o navegador envia uma solicitação HTTP ao servidor.
  2. Depois que o servidor recebe e aprova a solicitação, ele entrega os dados ou recursos ao navegador.
  3. Caso você já tenha o cache de objetos ativado no seu site, o servidor salvará as solicitações do visitante no seu cache.
  4. Assim, toda vez que o navegador enviar a mesma solicitação, o servidor entregará os dados em cache em vez de consultar novamente o banco de dados.

Porém, se não houver uma solicitação armazenada em cache, o servidor gerará um novo resultado e criará uma cópia para usar no futuro antes de enviá-la ao navegador do usuário.

Saiba Mais Sobre o Armazenamento em Cache

Como Limpar o Cache do Navegador
Como Reduzir Erros de Cache?

Vantagens do Cache de Objeto

Nesta seção, apresentaremos um panorama dos dois principais motivos para usar o cache de objeto:

  • Acessa dados em microssegundos. Um cache de objeto acelera o processo de recuperação de dados, pois o conteúdo armazenado em cache já está disponível no servidor. Em seguida, ele melhora o tempo de execução do PHP e otimiza o desempenho do site.
  • Reduz a carga de trabalho do servidor. O cache de objetos armazena as solicitações para minimizar o número de consultas ao banco de dados. Ele realiza várias tarefas de servidor, como fornecer o conteúdo armazenado em cache. Isso reduz o tempo de carregamento, principalmente durante períodos de tráfegos mais altos. Além disso, um cache de objeto pode atribuir solicitações em cache a vários servidores ou redes, melhorando a acessibilidade e garantindo que o servidor funcione de forma eficiente.

O Cache de Objeto do WordPress

O CMS WordPress tem um mecanismo de armazenamento em cache integrado, o WP_Object_Cache, que armazena automaticamente objetos novos e primitivos do banco de dados para a memória PHP.

Um cache de objeto do WordPress torna o conteúdo em cache acessível e recuperável usando uma chave, ou seja, um identificador exclusivo que indica uma entrada específica no banco de dados.

Essa ferramenta não é persistente e armazena objetos em cache para um único carregamento de página. Assim que a solicitação é concluída, o mecanismo de cache de objeto do WordPress remove o conteúdo em cache. Quando um navegador envia uma solicitação semelhante, o sistema precisa armazenar novamente o objeto em cache.

Para que seu site funcione de maneira eficiente, o cache de objeto do WordPress é ativado por padrão. Abaixo veremos as funções mais comuns de wp_cache:

  • wp_cache_set: adiciona novos dados ao cache substituindo os já existentes. Caso a chave não exista, a função criará um conjunto de dados.
  • wp_cache_add: caso a chave exista, essa função não adicionará os dados e retornará false. Caso contrário, ela adicionará os dados ao cache.
  • wp_cache_get: caso o cache exista, a função retornará seu valor. Caso contrário, ela retornará false.
  • wp_cache_flush: exclui todo o conteúdo em cache.
  • wp_cache_flush_group : limpa todo o conteúdo armazenado em cache em um grupo se as configurações de cache de objeto permitirem. Caso contrário, ela removerá todos os dados em cache.
  • wp_cache_replace : caso o objeto em cache exista, a função substituirá o conteúdo. Caso contrário, ela retornará false. Essa função é semelhante à wp_cache_set (), a diferença é que ela não adiciona o objeto armazenado em cache se o cache já existir.
  • wp_cache_delete: remove os dados de uma chave de cache específica.
  • wp_cache_add_non-persistent_groups: instrui o mecanismo de cache de objeto a não salvar o grupo ou a lista de grupos no armazenamento persistente. Essa função é bastante útil ao armazenar em cache o conteúdo que deve estar disponível apenas para o carregamento de uma página. É importante observar que apenas alguns plugins de cache aplicam a função wp_cache_add_non-persistent_groups.

Se seu site é pequeno e tem pouco tráfego, então o recurso de cache de objeto do WordPress é suficiente para gerenciar o seu cache.

Já os sites WordPress maiores precisam de soluções persistentes que armazenem os objetos em cache em vários carregamentos de página. Essas ferramentas ajudam a melhorar o desempenho do seu site, pois aceleram a transferência de consultas de banco de dados e reduzem a carga de trabalho do servidor.

Além disso, o mecanismo de armazenamento em cache persistente pode aumentar a capacidade de tráfego, proporcionando uma melhor experiência do usuário e ajudando você a expandir seus negócios.

É por isso que nossos planos de hospedagem WordPress, que custam a partir de R$6.99/mês, vêm com o recurso de cache de objetos integrado. Usamos o sistema LiteSpeed Memcache (LSMCD) para cache de objetos, que pode ser gerenciado diretamente do seu hPanel. Para isso, basta ir até SitesGerenciar

Sua provedora de hospedagem não oferece uma solução nativa de cache de objeto? Não se preocupe, aqui a gente vai te mostrar como instalá-la manualmente.

Ferramentas de Cache de Objetos Persistentes

Agora vamos comparar as duas ferramentas de cache de objetos mais populares do mercado: Redis e Memcached.

Redis

Imagem de fundo cinza claro com três quadrados vermelhos empilhados ao centro, o quadrado de cima tem formatos de estrela, círculo e triângulo na cor branca. Também ao centro, lê-se "Redis", o nome de uma solução de cache de objeto.

Redis (abreviação para Remote Dictionary Server) é uma solução de código aberto de cache na memória, que funciona com várias estruturas de dados — como strings, conjuntos, fluxos, hashes e listas. O principal objetivo dessa ferramenta é reduzir a carga no seu banco de dados MySQL.

O Redis oferece persistência em disco, ou seja, ele armazena dados em uma unidade de armazenamento durável, como o SSD (unidade em estado sólido) para prevenir a perda de dados. Dependendo do tamanho do seu banco de dados, esse mecanismo de cache de objeto persistente oferece quatro opções de persistência: Redis Database (RDB), Append Only File (AOF), sem persistência, e RDB + AOF.

Além disso, o Redis oferece replicação integrada assíncrona. Isto é, o processo de armazenamento não é bloqueado, pois a cópia-mestre continuará executando as consultas enquanto as réplicas realizam a ressincronização parcial ou a sincronização inicial.

Com o Redis, é possível modificar a persistência de um objeto ao alocar tempo para remover e recarregar novos dados ou inserir quais novas atualizações devem ser aplicadas quando você reiniciar essa ferramenta. Você também pode desativar o recurso caso uma ou mais páginas do seu site tiverem conteúdo dinâmico.

Graças a esses recursos avançados, o Redis consegue lidar com tempos de reposta menores do que um milissegundo, atendendo a milhões de solicitações por segundo em tempo real.

Para ativar o cache de objeto pelo Redis no seu site, basta instalar o plugin Redis Object Cache e abrir a aba de Configurações no seu painel de controle WordPress. Vá até RedisEnable Object Cache (Ativar Cache de Objeto).

Imagem da tela de configurações do plugin Redis Object Cache na área de administração do WordPress. Na imagem, destaca-se o botão que ativa o cache de objetos do Redis.

Essa ferramenta de cache de objetos também oferece o Redis Enterprise, uma solução premium com funcionalidades e benefícios adicionais, como o controle de acesso baseado em funções (RBAC). Para comprar o serviço, é preciso preencher um formulário e aguardar a equipe Redis Enterprise te retornar com um orçamento.

Dica

Ao contratar um plano de hospedagem WordPress gerenciado, lembre-se de conferir se sua empresa de hospedagem já oferece um servidor Redis.

Memcached

Imagem da página principal do site oficial do mecanismo de cache de objeto, Memcached. A página oficial não tem versão em, português brasileiro, portanto, o conteúdo é todo em inglês.

O Memcached é um sistema de cache de objeto de memória distribuída e de código aberto. Ele otimiza o conteúdo dinâmico em várias aplicações web, reduzindo a carga do banco de dados. O sistema armazena dados de acordo com valores-chave dos objetos coletados de chamadas de API, renderização de páginas ou cache de banco de dados, e os gerencia em memória dinâmica ou RAM.

Ele é mais simples e intuitivo do que o Redis, sendo uma opção perfeita para iniciantes. Essa ferramenta de cache de objetos pode armazenar dados de qualquer tamanho, inclusive uma página HTML inteira. O Memcached usa uma chave, dados brutos e tempo de expiração para alocar cada objeto. Ele pode ser usado em um servidor autônomo, ou em vários servidores, e acessado via Protocolo de Controle de Transmissão (TCP).

Funciona assim: quando um navegador solicita dados, o Memcached verifica se há algum objeto semelhante armazenado em cache. Caso haja, ele fornece o conteúdo salvo e envia de volta ao navegador. Caso contrário, essa ferramenta exibe um código de status indicando a falha. Em seguida, o servidor consulta o banco de dados e o envia de volta para o Memcached.

Ele então atualizará automaticamente o cache de objeto e carregará os dados mais recentes quando o conteúdo for atualizado ou removido. Caso o servidor fique sem espaço, os dados mais antigos serão substituídos pelos mais recentes. No entanto, vale lembrar que se o servidor for reiniciado, os objetos em cache serão removidos. Com isso, até que o Memcached reconstrua o cache, seu servidor poderá sofrer aumento de carga.

Como o Memcached não tem um plugin específico no WordPress, é necessário instalar uma extensão compatível para ativá-lo no seu site, como a WP Super Cache ou a W3 Total Cache.

Importante! Antes de baixar o plugin, você precisa instalar o Memcached em seu servidor ou ativá-lo pelo menu Opções do PHP. Para essa última opção, recomendamos conferir se sua provedora de hospedagem oferece suporte à extensão.

Conclusão

Neste artigo, vimos que o cache de objetos armazena as consultas de bancos de dados no servidor. Dessa forma, quando um navegador envia uma solicitação semelhante, o servidor entrega os objetos armazenados em cache em vez de buscar o conteúdo do zero.

Vimos também que o cache de objetos pode otimizar o desempenho de um site, melhorando a experiência de usuário. Além disso, ativá-lo pode diminuir a carga do servidor, pois o cache de objeto reduz as consultas repetidas e consequentemente evita o aumento no tempo de resposta.

Por padrão, o cache de objeto integrado do WordPress já vem instalado no seu site. Porém, ele só armazena em cache o conteúdo de um único carregamento de página e é ideal para sites com menor volume de tráfego. Se o seu site recebe muitas visitas, a melhor opção é usar uma ferramenta de cache de objeto persistente, como o Redis ou o Memcached, pois elas funcionam em vários carregamentos de página.

Antes de instalar uma ferramenta, consulte sua provedora de hospedagem para saber se ela oferece um recurso integrado de cache de objeto e se é compatível com o que você escolheu. Caso tenha alguma dúvida ou sugestão, fique à vontade para deixá-la nos comentários abaixo. Até o próximo tutorial!

Perguntas Frequentes (FAQ) sobre Cache de Objetos

Nesta seção, separamos as perguntas mais frequentes para ajudar você a entender melhor o que é e para que serve o cache de objetos. Vamos lá?

Posso Usar o Cache de Objetos com Outros Métodos de Armazenamento em Cache?

Sim, você pode. Mas, para evitar quaisquer conflitos de software, recomendamos ter apenas um método. Isso garante que a ferramenta vai armazenar o banco de dados em cache de maneira adequada. Caso necessite ativar mais de uma ferramenta de cache, certifique-se de que as configurações se complementem e não conflitem. Evite também executar ações desnecessárias ou contrárias, pois isso pode impedir o funcionamento adequado dos plugins. 

Qual a Diferença entre um Cache de Objetos e um Cache de Página?

Cache de página é um sistema que armazena toda a página renderizada — incluindo o HTML e o conteúdo — na memória do disco rígido do servidor. Ou seja, é um sistema cache voltado ao usuário. Já o cache de objetos é um método de cache de servidor que mantém os resultados da consulta ao banco de dados do servidor. 

Por Que Usar um Cache de Objeto e não um Cache HTTP?

Vamos supor que você queira proteger seu site implementando a autenticação de usuário como uma camada de segurança. Nesse caso, um cache de objeto é uma opção mais segura para você, pois ele armazena os dados dos clientes no servidor. Isso já não acontece com caches de HTTP, especialmente os caches compartilhados, pois eles não oferecem a camada de segurança necessária e podem expor seus clientes a ameaças cibernéticas, como ataques de força bruta.

O Plugin de Cache é Realmente Necessário ou o Cache do WordPres já é Suficiente?

A resposta vai depender do tamanho do seu site. Se você tem um site pequeno e com pouco tráfego, então o cache do WordPress é suficiente. Agora, se o seu site consome muitos recursos e recebe muitas visitas, então nossa recomendação é adicionar um plugin de cache de objeto, pois ele pode ajudar a otimizar e aumentar o desempenho do seu servidor.

Author
O autor

Bruna Vidanya

Bruna Vidanya é tradutora na Hostinger Brasil. É graduada em Letras Tradução Inglês pela Universidade de Brasília e já foi estagiária tradutora no Senado Federal. Teve a sua primeira tradução – um livro infanto-juvenil – publicada pela Livraria Senado Federal. É apaixonada por tecnologia e agora demonstra essa paixão, com muito carinho, escrevendo e traduzindo artigos para a Hostinger. Nas horas vagas, Vidanya ama ficar com os seus três cachorrinhos: Madonna, Snoop e Scooby-Doo, além de ver séries (as sitcoms são as suas favoritas). Um fato curioso sobre a autora: seu primeiro bichinho de estimação foi um galo Garnisé, chamado Chico Liro.