La idea de usar este espacio es evitar hacer (varias) consultas a la base de datos, dejando los resultados almacenados en la memoria del acelerador.

vBulletin

A partir de la versión 3.7 ya cuenta con soporte nativo para APC, XCache, Memcache o archivos. Tan solo hay que editar el archivo ./includes/config.php, cambiando el valor de $config['Datastore']['class']:

 // ****** DATASTORE CACHE CONFIGURATION *****
 // Here you can configure different methods for caching datastore items.
 // vB_Datastore_Filecache  - to use includes/datastore/datastore_cache.php
 // vB_Datastore_APC - to use APC
 // vB_Datastore_XCache - to use XCache
 // vB_Datastore_Memcached - to use a Memcache server, more configuration below
$config['Datastore']['class'] = 'vB_Datastore_XCache';

Si todavía usan vB 3.6.X hay un plugin para activarlo con XCache y otro más para APC (probablemente deberían actualizar vB 😉 ). Un plugin muy recomendado es este otro que guarda en el datastores toda las plantillas de los estilos (style templates) de vBulletin.

Mediawiki

Mediawiki (del que ya hemos reseñado un poco) es otro CMS que soporta los datastores desde hace bastante tiempo (versión 1.5), es compatible con eAccelerator, mmTurck, APC, XCache o Memcache. Para activar el uso de los datastores, solo falta cambiar el valor de una variable en LocalSettings.php:

## Shared memory settings
$wgMainCacheType = CACHE_ACCEL;

WordPress

Con la ayuda de plugins se puede activar el Object Cache de WordPress:

Para activar cualquiera de estos plugins se necesita grabarlos como ./wp-content/object-cache.php, no dentro de la carpeta ./wp-content/plugins/. Desde la versión 2.5 de WordPress, en el Object Cache se almacenarán los resultados de todas las consultas a la base de datos (posts, comentarios, categorìas, etc…) en este espacio, si tu blog no tiene muchos contenidos y la memoria RAM del servidor te lo permite, es posible hacer que blog no realize consultas a la base de datos y sea siendo generado dinámicamente. Muy diferente al caso de usar WP_Cache que en el que blog termina siendo estático.

Otro plugin interesante es una modificación de WP-SuperCache para que en lugar de guardar las páginas en el disco, lo haga en la memoria del acelerador. Obviamente esto tomará mucho más espacio que solo guardar los objectos en la memoria, pero sin duda alguna el blog cargará mucho más rápido.

phpBB

phpBB 3.0.x cuenta con un sistema que le permite definir que sistema de caché usar, los modules ACM como les denominan ellos, en el paquete oficial de phpBB ya viene configurado para usar un caché basado en archivos. Los equivalentes para APC, eAcclerator, Memcache o XCache se pueden descargar desde el foro de php, se requiere estar registrado para ver el archivo de descarga (desearíamos no fuera así).

Según el sistema que elijas, subes el archivo a la carpeta /includes/acm/ dentro de la instalación de phpBB y luego editas el config.php de dicha instalación:

// Solo define uno, el que vayas a usar.
$acm_type = 'apc';   // para usar APC
$acm_type = 'eaccelerator';  // para usar eAccelerator
$acm_type = 'memcache';  // para usar Memcache (configuración adicional dentro de acm_memcache.php)
$acm_type = 'xcache';  // para usar XCache

Vale aclarar que esto va a guardar en caché tanto plantillas como variables globales y consultas a base de datos, si no cuentas con mucha memoria RAM tal vez debas considerar dejar fuera del cache las consultas a la base de datos. La siguiente versión de phpBB (nombre código Ascraeus) irá un paso adelante al permitir mezclar varios sistemas de cache según el tipo de objeto.

Drupal

Drupal cuenta con el modulo Cache Router, para almacenar objectos en la memoria de APC, XCache, Memcache o en archivos; y es compatible con Drupal 5.x y 6.x. En Achieve Internet escribieron una buena guía sobre cual configuración usar de Cache Router, dependiendo del tipo de servidor con el contemos: shared, VPS, dedicado o con múltiples servidores, incluso. Los conceptos de esta guía aplicarían para cualquier CMS, por cierto 😉 .

Joomla

Aunque Joomla tiene la mala fama de ser el Windows de los Gestores de contenidos, aún hay muchísimos sitios usándolo. Para Joomla existe el componente PageCache que guarda las páginas en la memoria de ACP, eAccelerator, Memcache, XCache, en la base de datos o en archivos; Lo malo es que solo es compatible con Joomla 1.0.x, si usan Joomla 1.5 deberán conformarse con el sistema de cache que ya viene integrado. Otra alternativa compatible con Joomla 1.0. y 1.5 es el componente Query Cache que también es compatible con los aceleradores de PHP.

Aunque no se debe esperar una mejora espectacular ni mágica al usar alguna de estas soluciones, a la larga ahorrar consultas a la base de datos resulta en un beneficio. Yo soy más de la idea que solo debe mantenerse en caché del acelerador los objetos más usados del gestor, almacenar todos los contenidos requiere mucha memoria RAM que podría ser necesaria para Apache y resultar contraproducente.