Eu nunca usei a API de transientes antes e queria saber se alguém tem orientação sobre quando usá-lo. O artigo do Codex implica que, como desenvolvedor de temas, posso querer definir cada novo WP_Query()
como transitório; Presumo que o mesmo possa ser dito para consultas diretas $ wpdb e query_posts()
. Isso é um exagero? E / ou existem outros lugares que devo usar como padrão?
Costumo usar plug-ins de cache no meu site (geralmente W3 Total Cache) e parece que o uso de Transients pode aumentar a eficácia do plug-in, mas não quero enlouquecer envolvendo tudo em transientes, se essa não for uma prática recomendada.
Respostas:
Os transientes são ótimos quando você faz consultas complexas em seus temas e plugins. Costumo usar transitórios para coisas como menus e mostrar outras coisas como Tweets do Twitter em uma barra lateral, por exemplo. Eu não os usaria para absolutamente tudo mais - apenas pedaços temporários de dados que podem ser armazenados em cache.
Lembre-se de que, se você usar algo como Memcached com transientes, perceberá um enorme ganho de desempenho. A regra com transitórios é não usá-los para dados que não devem expirar, pois são realmente apenas para dados temporários e lembre-se de que os transitórios nem sempre são armazenados no banco de dados.
Alguns usos para transientes :
Este artigo é muito informativo, com referências rápidas, mostrando como os transientes podem acelerar o seu site e até tem alguns exemplos. Este outro artigo também tem alguns ótimos exemplos de uso de transientes que podem ajudar você a entender para que usá-los também.
fonte
Existem vários mecanismos de cache no WordPress e suas mecânicas diferem, dependendo da escolha do cache do objeto (nativo ou não):
Em poucas palavras, o que isso significa é que o transitório é sempre persistente (sobreviverá entre as cargas de página, diferentemente do cache nativo), mas fará uso do armazenamento personalizado se fornecido (ao contrário de Opções).
Isso torna os transientes a escolha mais versátil para armazenamento em cache.
No entanto, com a flexibilidade, a complexidade é subcorrente e existem algumas nuances (como limite no tamanho do nome, comportamento diferente com e sem expiração, falta de coleta de lixo) que as tornam mais complexas do que parecem.
No geral:
fonte
Eu acho que o código da Sterling poderia ser melhorado se você não chamar a função get_transient duas vezes. Em vez disso, armazene o primeiro resultado em uma variável temporária. Porque a ideia por trás da API transitória é velocidade ;-)
fonte
Resposta curta: você deve usá-lo quando / onde puder.
Resposta longa:
A API de transientes é para armazenamento em cache. Então você quer usá-lo o máximo que puder. Você pode escrever uma função que faça isso por você.
Não é um exagero e, se feito corretamente, acaba sendo bem elegante:
fonte
A API de transientes é realmente útil quando você busca dados de fontes externas como Facebook, Twitter.
Para ter uma ideia mais clara do que é a API do Transients e qual a diferença com a função Cache WordPress, recomendo assistir à palestra de Otto e Nanic no WordCamp São Francisco 2011
fonte