Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

xCache en Symfony2

17 de septiembre de 2014

Hola, quiero utilizar xCache para cachear las consultas a la base de datos. El problema es que hay muy poca información en la web de como configurar xCache, todo lo que veo está para APC. ¿Cómo debería ser el archivo app.php?


Respuestas

#1

Es cierto que no hay mucha documentación sobre el uso de xCache con Doctrine, pero sí que puedes encontrar la suficiente como para poder usarlo en tu aplicación. Lo primero que debes saber es que no hay que modificar el archivo app.php.

Lo único que debes hacer es añadir la siguiente configuración en tu archivo app/config/config.yml:

doctrine:
    orm:
        auto_mapping: true
        # ...
        metadata_cache_driver: xcache
        query_cache_driver:    xcache
        result_cache_driver:   xcache

Aquí tienes algunos recursos que te pueden ser útiles:

@javiereguiluz

17 septiembre 2014, 21:57
#2

Aah, perfecto gracias @javiereguiluz, tu información me sirve mucho.

Ahora, lo que vi en la web, de la configuración del app.php para xCache, ¿que función cumple?

$loader = new ClassLoader();
 
// register classes with namespaces
$loader->add('Symfony\Component', __DIR__.'/component');
$loader->add('Symfony',           __DIR__.'/framework');
 
$cachedLoader = new XcacheClassLoader('sexypins', $loader);
 
// activate the cached autoloader
$cachedLoader->register();
 
// eventually deactivate the non-cached loader if it was registered previously
// to be sure to use the cached one.
$loader->unregister();

@AjPZZO

18 septiembre 2014, 1:18
#3

El archivo app.php puede utilizar xCache para cargar las clases PHP de la aplicación. Esto hace que aumente ligeramente el rendimiento.

Si no activas xCache o APC o similar, las clases que se necesitan para ejecutar la aplicación (que pueden llegar a ser cientos de ellas para servir una sola petición) las carga directamente Composer buscándolas entre los archivos PHP de tu aplicación.

Si activas xCache o APC o similar, cuando Composer encuentra una clase, ya no la vuelve a buscar, porque se guarda en la caché su localización. Esto hace que resolver las clases PHP sea mucho más rápido y por tanto, aumente ligeramente el rendimiento de la aplicación.

@javiereguiluz

18 septiembre 2014, 8:44