Nunca he usado la API de transitorios antes y me preguntaba si alguien tiene orientación sobre cuándo usarla. El artículo del Codex implica que, como desarrollador de temas, es posible que desee establecer cada nuevo WP_Query()
como transitorio; Supongo que lo mismo podría decirse de las consultas directas $ wpdb y query_posts()
. ¿Eso es exagerado? ¿Y / o hay otros lugares en los que debería usarlo por defecto?
A menudo uso complementos de almacenamiento en caché en mi sitio (W3 Total Cache generalmente) y parece que el uso de transitorios podría aumentar la efectividad del complemento, pero no quiero volverme loco envolviendo todo en transitorios si esa no es una buena práctica.
Respuestas:
Los transitorios son geniales cuando haces consultas complejas en tus temas y complementos. Tiendo a usar transitorios para cosas como menús y mostrar otras cosas como Tweets de Twitter en una barra lateral, por ejemplo. No los usaría para absolutamente todo más, así que solo datos temporales que se pueden almacenar en caché.
Tenga en cuenta que si usa algo como Memcached con transitorios, notará una ganancia de rendimiento masiva. La regla con los transitorios es no usarlos para datos que no deberían caducar, ya que en realidad son solo para datos temporales y tener en cuenta que los transitorios no siempre se almacenan en la base de datos.
Algunos usos para transitorios :
Este artículo es muy informativo con puntos de referencia rápidos que muestran cómo los transitorios pueden acelerar su sitio e incluso tiene un par de ejemplos. Este otro artículo también tiene algunos excelentes ejemplos de uso de transitorios que también pueden ayudarlo a comprender para qué usarlos.
fuente
Existen varios mecanismos de almacenamiento en caché en WordPress y sus mecanismos difieren, dependiendo de la elección del caché de objetos (nativo o no):
En pocas palabras, lo que esto significa es que el transitorio siempre es persistente (sobrevivirá entre cargas de página a diferencia de Cache de forma nativa), pero hará uso de almacenamiento personalizado si se proporciona (a diferencia de las Opciones).
Esto hace que los transitorios sean la opción más versátil para el almacenamiento en caché.
Sin embargo, con la flexibilidad viene la complejidad de la corriente subterránea y hay bastantes matices con ellos (como límite en la longitud del nombre, comportamiento diferente con y sin vencimiento, falta de recolección de basura) que los hacen más complejos de lo que parecen.
En general:
fuente
Creo que el código de Sterling podría mejorarse al no llamar dos veces a la función get_transient. En su lugar, almacene el primer resultado en una variable temporal. Porque la idea detrás de la API transitoria es la velocidad ;-)
fuente
Respuesta corta: debe usarlo cuando / donde pueda.
Respuesta larga:
La API de transitorios es para el almacenamiento en caché. Así que quieres usarlo tanto como puedas. Puede escribir una función que haga esto por usted.
No es excesivo y si se hace correctamente termina siendo bastante elegante:
fuente
La API de transitorios es realmente útil cuando busca datos de fuentes externas como Facebook, Twitter.
Para tener una idea más clara de qué es Transients API y cuál es la diferencia con la función Cache WordPress, recomiendo ver la charla de Otto y Nanic desde WordCamp San Francisco 2011
fuente