Je n'ai jamais utilisé l'API Transients auparavant et je me demandais si quelqu'un avait des conseils sur le moment de l'utiliser. L' article du Codex implique qu'en tant que développeur de thème, je pourrais vouloir définir chaque nouveau WP_Query()
comme un transitoire; Je suppose que la même chose pourrait être dite pour les requêtes directes $ wpdb et query_posts()
. Est-ce exagéré? Et / Ou y a-t-il d'autres endroits où je devrais l'utiliser par défaut?
J'utilise souvent des plugins de mise en cache sur mon site (W3 Total Cache généralement) et il semble que l'utilisation de transitoires puisse augmenter l'efficacité du plugin, mais je ne veux pas devenir fou en emballant tout en transitoires si ce n'est pas une meilleure pratique.
Réponses:
Les transitoires sont parfaits lorsque vous effectuez des requêtes complexes dans vos thèmes et plugins. J'ai tendance à utiliser des transitoires pour des choses comme les menus et montrer d'autres choses comme les Tweets de Twitter dans une barre latérale par exemple. Je ne les utiliserais pas pour absolument tout, donc juste des éléments de données temporaires qui peuvent être mis en cache.
Gardez à l'esprit que si vous utilisez quelque chose comme Memcached avec des transitoires, vous remarquerez un gain de performances énorme. La règle avec les transitoires est de ne pas les utiliser pour des données qui ne doivent pas expirer car elles ne sont vraiment que pour des données temporaires et gardez à l'esprit que les transitoires ne sont pas toujours stockés dans la base de données.
Quelques utilisations pour les transitoires :
Cet article est très informatif avec des repères rapides montrant à quel point les transitoires peuvent accélérer votre site et contient même quelques exemples. Cet autre article contient également quelques excellents exemples d'utilisation de transitoires qui pourraient vous aider à comprendre à quoi les utiliser également.
la source
Il existe plusieurs mécanismes de mise en cache dans WordPress et leurs mécanismes diffèrent, selon le choix du cache d'objets (natif ou non):
En un mot, cela signifie que le transitoire est toujours persistant (survivra entre les chargements de page contrairement à Cache en natif), mais il utilisera un stockage personnalisé s'il est fourni (contrairement aux options).
Cela fait des transitoires le choix le plus polyvalent pour la mise en cache.
Cependant, la flexibilité s'accompagne d'une complexité sous-jacente et il y a pas mal de nuances avec eux (comme la limite de la longueur du nom, un comportement différent avec et sans expiration, le manque de collecte des ordures) qui les rendent plus complexes qu'il n'y paraît.
Global:
la source
Je pense que le code de Sterling pourrait être amélioré en n'appelant pas la fonction get_transient deux fois. Stockez plutôt le premier résultat dans une variable temporaire. Parce que l'idée derrière l'API Transitoire est la vitesse ;-)
la source
Réponse courte: vous devez l'utiliser quand / où vous le pouvez.
Longue réponse:
L'API Transients sert à la mise en cache. Vous voulez donc l'utiliser autant que possible. Vous pouvez écrire une fonction qui le fait pour vous.
Ce n'est pas exagéré et s'il est fait correctement finit par être assez élégant:
la source
L'API transitoires est vraiment utile lorsque vous récupérez des données à partir de sources externes comme Facebook, Twitter.
Pour avoir une idée plus claire de ce qu'est l'API Transients et de ce qui fait la différence avec la fonction Cache WordPress, je recommande de regarder la conversation d'Otto et Nanic de WordCamp San Francisco 2011
la source