✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Entendendo o cache no WordPress, parte 3

13

Nos dois posts anteriores, falei sobre os fundamentos do cache e como o cache funciona no WordPress, pelo menos até certo ponto.

Entendendo o cache no WordPress, parte 3

Mas lembre-se que esta série foi motivada por um e-mail de alguém que achou que eu poderia fazer um trabalho melhor explicando como os transientes e o cache funcionam no WordPress e por que é importante entender como tudo funciona em conjunto.

Entendendo o cache no WordPress, parte 3

Portanto, neste post, pretendo reunir tudo e falar sobre como a API Transients funciona em conjunto com o MySQL, por que é importante entender o relacionamento e como lidar com isso daqui para frente.

Como funcionam os transientes no WordPress?

Como funcionam os transitórios

Primeiro, de acordo com o Codex, os transientes funcionam assim:

Esta página contém a documentação técnica do WordPress Transients API, que oferece uma maneira simples e padronizada de armazenar dados em cache no banco de dados temporariamente, dando-lhe um nome personalizado e um período de tempo após o qual expirará e será excluído.

API de transitórios através do WordPress Codex

A ideia por trás disso parece bastante simples, certo?

  1. Você salva uma opção no banco de dados,
  2. Defina um tempo para quanto tempo deve existir,
  3. Em seguida, ele é armazenado por esse período de tempo
  4. E, se solicitado após a expiração, é recuperado e movido de volta ao seu estado transitório.

Então, onde está a confusão?

Como mencionado no primeiro post, não estava claro por quanto tempo as informações transitórias estariam disponíveis. Em vez de ser uma quantidade mínima de tempo em que os dados estarão disponíveis, é um máximo.

Isso significa que, se você definir algo para estar disponível por um dia, ele ficará disponível por um dia. Não menos; não mais. E depois que esse tempo tiver expirado, ele terá que ser recriado no estado transitório mais uma vez.

Pelo menos, esta é a sabedoria convencional por trás disso. Não está errado, mas há mais do que isso. É aqui que fica um pouco mais técnico, no entanto.

Qual o papel do MySQL?

À medida que o WordPress, a hospedagem e outras tecnologias amadureceram, os bancos de dados subjacentes que alimentam o aplicativo também mudaram. Isso não é uma coisa boa ou ruim (embora talvez possamos argumentar que é uma coisa boa em um post futuro).

Mas pode ajudar a explicar por que os transientes funcionam da maneira que funcionam, dada a pilha com a qual estamos acostumados a trabalhar e como eles podem não funcionar como esperado sem os sistemas de banco de dados.

Se você optar por usar o MySQL como banco de dados para sua instalação do WordPress, o que arrisco dizer que a maioria das pessoas ainda usa, então as informações que estão na tabela de opções (que é onde os transientes também são armazenados) então a API de Transients funcionará como descrito acima.

Mas o que acontece quando você introduz outras formas de cache, como cache de objetos por meio de software como Memcached ou Redis e assim por diante?

Entendendo o cache no WordPress, parte 3

Nesse caso, os dados podem não estar disponíveis conforme o esperado. Em resumo, o software de armazenamento em cache pode optar por descartar informações que não são solicitadas com a mesma frequência que outras informações. Ou seja, dá um nível de prioridade às informações solicitadas com mais frequência.

Seguindo em frente

Quando você leva em conta todos os itens acima, você está olhando para várias coisas:

  1. a API de Transientes,
  2. um banco de dados,
  3. um sistema de cache de terceiros.

Quando você tem a API Transients e um banco de dados padrão, você ficará bem porque as coisas funcionarão como você espera.

Mas se você introduzir um sistema de cache de terceiros, o resultado pode ser diferente. Especificamente, as coisas podem não – e provavelmente não funcionarão – da maneira que você espera.

Ou seja, o sistema de cache de terceiros pode desconsiderar qualquer informação que queira descartar sempre que achar necessário removê-la. Isso significa que tudo o que você acha que pode ter disponível no cache não estará lá.

Enfim, o melhor conselho que posso dar é o seguinte:

  1. Se você estiver usando o MySQL e a API Transients, as coisas funcionarão conforme descrito no Codex.
  2. Se, por outro lado, você estiver usando outro sistema de cache, é importante entender como ele funciona e como você pode escrever código nele para que funcione como você gostaria.

E com isso, não há mais nada a acrescentar nesta cartilha para entender o cache no WordPress.

Fonte de gravação: tommcfarlin.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação