Índice

La caché con Doctrine

1. Los diferentes tipos de caché

Doctrine dispone de tres tipos de caché.

a. La caché de los metadatos

Los metadatos son toda la información de mapping de sus entidades. Estos datos no tienen tendencia a cambiar una vez que la aplicación haya sido desplegada en producción. Por lo tanto, se podrán cachear con una duración indeterminada.

b. El caché de las consultas

Es posible cachear el proceso de transformación de las consultas DQL en consultas SQL. Mientras una consulta DQL no se modifique, su equivalente en SQL será siempre la misma. Por lo tanto, se recomienda utilizar la caché de las consultas en producción.

c. La caché de los resultados

El caché de los resultados permite hacer una copia de seguridad del resultado de una consulta, para evitar tener que realizar muchas consultas a la base de datos.

Se configura gracias al método useResultCache() del objeto Query de Doctrine: 

$query = $manager->createQuery(  
   ’SELECT u FROM EniDemoBundle:Usuario u’  
);   
  
$query->useResultCache(true, 60);

El primer argumento indica que se debe activar la caché de resultados. El segundo define la duración de vida (en segundos), durante la que los resultados en caché son válidos. Si se omite el segundo argumento, los resultados se cachearán indefinidamente.

2. Configuración

En el archivo de configuración de su entorno ...