Contenido

WordPress Transients API, opciones que expiran en el tiempo

24 Dic

+ 3

La gente de WordPress nos ofrece una API nueva para almacenar datos transitorios como hacíamos con la Options API pero especificando el tiempo que estos están disponibles.

// Graba un transient
set_transient($transient, $value, $expiration);

// Obtenemos un transient
get_transient($transient);

// Borramos un transient
delete_transient($transient);

Básicamente se trata de una serie de funciones que nos permitirá cachear datos en nuestras creaciones para WordPress. Una buena herramienta que nos permitirá mejorar el rendimiento de nuestras aplicaciones.

set_transient()

  • $transient identificador único de nuestros datos.
  • $value datos a guardar, estos datos se serializarán.
  • $expiration número de segundos que esperarán los datos en la caché.

Ejemplo:

set_transient('special_query_results', $special_query_results, 60*60*12);

get_transient()

  • $transient identificador único de nuestros datos.

Ejemplo:

$value = get_transient("codigodeejemplo");

delete_transient()

  • $transient identificador único de nuestros datos.

Ejemplo:

delete_transient("codigodeejemplo");

Ejemplo de uso

En WP-Engineer publican un ejemplo de sistema simple de caché con Transients API. En el ejemplo, nos muestra como cachear la nube de tags como ejemplo de uso para cachear datos de nuestras plantillas.

$tag_cloud = get_transient( 'tag_cloud' );
if ( false === $tag_cloud || '' === $tag_cloud ){
   $args = array('echo' => false);
   $tag_cloud = wp_tag_cloud( $args );
   set_transient( 'tag_cloud', $tag_cloud, 60*60*12 );
}
echo $tag_cloud;

Una herramienta muy útil para suavizar el impacto de nuestros trabajos sobre la base de datos de WordPress.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.