Transient API | Cache de banco de dados no WordPress

porLuis Augusto Moretto

Transient API | Cache de banco de dados no WordPress

API transient WordPressWordPress fornece uma API para gerenciar opções. Cada opção tem um nome e um valor e são armazenadas no banco de dados do WordPress – na tabela wp_options.

As opções podem armazenar qualquer coisa desde sua chave da API do Google Maps em uma matriz de dados ou até mesmo no código HTML da sua barra lateral.

Os transientes são semelhantes em todas as propriedades, com exceção de uma; eles têm um tempo de expiração.

Isso torna adequados para atuar como um cache para dados apropriados. Reduz o número de consultas que nosso site utiliza. Podem ser ainda mais aceleradas por plugins de cache que podem fazer com que o WordPress armazene transientes na memória rápida (como o Memcached) em vez do banco de dados.

Neste post, mostrarei o código que você precisa saber para usar transientes e mostrarei alguns exemplos avançados de uso

CASOS DE USO

Veja alguns casos de uso para a API

  • Armazenar configurações
  • Fazer cache de consultas complexas
  • Fazer cache  de integrações. Ex: consultar seguidores do twitter
  • Armazenar metadados de maneira geral

CRIANDO SEU CACHE

 Veja como salvar seus dados no cache com a API Transient
set_transient( 'GMAPS_API', 'XXXXXXXXXXXXXXXXX', 28800 ); // Site Transient

Para recuperar os dados do cache:

$$gmaps_key= get_transient( 'GMAPS_API' ); // Site Transient

Para remover um transiente

delete_transient( 'GMAPS_API' ); // Site Transient

DICAS

Se o seu WordPress conecta com um banco de dados remoto, utilize a api transient para minimizar a latência e maximizar o desempenho do WordPress. Configure o tempo de expiração conforme as regras de seu negócio.  Lembre-se que o cache é global. Se quiser criar um cache por usuário uma dica é utilizar o token + o id do usuário logado para armazenar o cache multi perfil. Um cenário clássico de uso seria a conexão com a API do Twitter. Como a API tem um limite de conexões por tempo usando o transient é possível fazer o cache do resultado respeitando a integração.

Happy Coding! 😀