WordPress Cache: o que pode ser armazenado em cache e como o fazemos

Publicados: 2017-04-28

Você quer que seu site seja rápido. Uma tecnologia que contribui para a velocidade do site é o cache. O cache é um conjunto de técnicas de software e hardware que armazenam dados para que estejam rapidamente disponíveis para solicitações futuras. Neste artigo, explicaremos o que é o cache do WordPress, como ele pode ser implementado em muitos níveis diferentes e como cuidamos de tudo para você, para que você não precise se preocupar com isso.

O que é cache?

Na computação, existe essa coisa chamada “cache”, em que um componente de software ou hardware é usado para armazenar valores temporariamente e recuperá-los mais rapidamente no futuro. Valores como consultas MySQL ou bytecode PHP compilado, bem como dados duplicados, como HTML e imagens. Praticamente tudo, na verdade.

Benefícios do cache

Ao fazer cópias de dados e colocá-los no componente de “cache”, obtemos uma vantagem significativa de desempenho. Seus visitantes podem recuperar conteúdo armazenado em cache muito mais rápido do que não armazenado em cache. O conteúdo armazenado em cache pode ser recuperado mais rapidamente pelos visitantes do que o conteúdo não armazenado em cache. Os componentes de cache geralmente são memória, mas podem ser qualquer coisa que possa ser mais rápida que o armazenamento convencional. Mas quanta melhoria de desempenho você pode obter?
Tudo depende da quantidade de dados que você pode armazenar em cache, mas, em geral, melhorias de desempenho na magnitude de um segundo inteiro não são incomuns.

O que pode ser armazenado em cache?

Existem vários níveis, dependendo de quão longe você deseja ir na otimização do seu site usando o cache.

Saída HTML

A primeira maneira é armazenar em cache a própria página HTML. Existem muitos plugins de cache do WordPress, como WP Rocket e W3 Total Cache, que fazem isso e muito mais. Esses plugins armazenam em cache o resultado da saída HTML economizando tempo para solicitações futuras. Além disso, cada plug-in oferece um mecanismo de invalidação de cache para que você possa fornecer conteúdo sem cache quando desejar.

Outra técnica é “minificar” o HTML, ou seja, torná-lo menor. Isso lhe dá alguns kilobytes por página, mas aumenta com o tempo.

Você precisará acessar o Dashboard ou uma maneira de instalar plugins no WordPress para fazer isso.

Referência:

  • WP Foguete
  • Plugin W3 Total Cache WordPress

PHP OpCache

OpCaching é uma técnica pela qual o PHP pega os arquivos PHP de origem e os compila em um formato intermediário, chamado bytecode. Bytecode é como o código de máquina de um computador, mas se refere ao código de máquina que é executado por uma “máquina virtual” (neste caso, PHP's) ao invés de uma máquina real. Como é código de máquina e reside na memória, pode ser executado muito mais rápido do que ter o interpretador PHP analisando um comando por vez e executando-o.

O cache, nesse nível, armazena esses dados de bytecode na memória, para que seu aplicativo possa ser executado mais rapidamente.

Você precisa ter acesso ao arquivo de configuração do PHP para habilitar o PHP OpCache.

Referência: OpCache

Hospede seu site com a Pressidium

GARANTIA DE DEVOLUÇÃO DO DINHEIRO DE 60 DIAS

VEJA NOSSOS PLANOS

Cache de Objetos PHP

Este é o cache que é feito no nível OOP da linguagem. PHP é uma linguagem orientada a objetos, o que significa que usa o conceito de “objetos” para descrever lógica, dados e ideias. À medida que seu aplicativo é executado, esses objetos são constantemente criados e destruídos (dinamicamente, por um subsistema chamado coletor de lixo). O processo de criação e inicialização desses objetos leva tempo. Portanto, o cache de objetos resolve isso armazenando em cache os próprios objetos.

Isso é implementado através de plugins como o Memcached e os variados para Redis. Redis é um poderoso armazenamento de estrutura de dados na memória, que pode ser usado como um banco de dados. O Memcached é um sistema distribuído de cache de objetos. Ambos são excelentes opções para fazer cache nesse nível.

Você precisará ter acesso à configuração do PHP para habilitar o cache de objetos PHP. Você também precisará de acesso a uma instância Redis ou Memcached.

Referência

  • Plugins do Redis WordPress
  • Plugin WordPress Memcached
  • Documentação do Redis
  • Wiki do Memcached

Cache de consulta MySQL

Esta é a mesma ideia, mas é aplicada em um nível de banco de dados. O banco de dados retorna um conjunto de dados de acordo com a consulta que foi inserida. Se você puder armazenar em cache os resultados dessas consultas, na próxima vez que alguém usar essa consulta, obterá os dados muito mais rapidamente, pois residiriam em cache na memória.

Para isso, você precisará ter acesso ao servidor de banco de dados.

Referência: Cache de Consulta do MySQL 8.0

Para que tudo isso seja configurado e mantido adequadamente, muitas coisas são necessárias. Conhecimento técnico, tempo e até dinheiro, se você não tiver experiência. Mas podemos ajudar com tudo isso.

Como resolvemos tudo com o Multilayer Caching da Pressidium.

A resposta é simples. Implementamos o cache em todos os lugares: em todas as camadas do WordPress.

Para saída HTML, implementamos duas camadas de cache, hot e warm . Essas camadas fazem parte do nosso mecanismo de cache adaptável. Nosso mecanismo também pode criar o perfil do seu site e aplicar as regras de cache mais eficientes. Mas, vamos entrar em mais detalhes sobre isso em outro artigo. Portanto, o Hot cache são dados que residem na memória e podem ser acessados ​​rapidamente. O Warm Cache são dados que residem em discos SSD de última geração. Isso aumenta as taxas gerais de acertos de cache e resulta em um desempenho significativamente melhor do site em relação ao armazenamento convencional.

Para nossos clientes corporativos, construímos um sistema de cache de objetos usando o excelente armazenamento de estrutura de dados na memória Redis. Finalmente, o cache de consulta do MySQL. Isso é ativado por padrão e monitorado constantemente pelo nosso DevOps. O MySQL Query Caching pode fornecer informações valiosas sobre o desempenho do seu site.

É importante notar que tudo isso é implementado no backend da nossa Plataforma, e não através de algum plugin de cache do WordPress. Isso significa que a) usamos servidores externos para armazenamento, para não sobrecarregar os recursos do seu servidor web eb) armazenamos dados em memória que é mais rápida de acessar do que em disco.

Quaisquer que sejam suas necessidades de cache e orçamento, nós podemos entregar.