HTMLeando: para desarrolladores Web

Pregunta


¿Qué sistema de cache para PHP usar? 

Responder esta pregunta por dudin el 2009-02-24
Tengo un sitio establecido hace algún tiempo y el tráfico va en aumento, no creo que el servidor donde está alojado sea lo suficientemente potente como soportar una carga mucho mayor; por tanto, pensando en optimizar el desempeño de la aplicación deseo implementar un sistema de cache. De momento uso un sistema de plantillas bastante simple, parecido a phpTemplate. ¿Cuál usar y cómo implementarlo?

Respuestas

Thumb_up
Thumb_down

0%
0%
Pues me ha dado muy buenos resultados usar Cache_Lite, es un sistema muy fácil de implementar. Ante todo lo debes instalar mediante el comando pear:
pear install cache-lite

Luego en un fichero que sea común a toda la aplicación (puede ser el mismo controlador frontal), cada página debe tener su propio identificador id a la hora de guardar y recuperar de la cache cada una de las páginas del sitio. Es importante que este trozo de código se ejecute lo antes posible para evitar que se ejecuten operaciones innecesarias que ya se encuentren guardadas en cache.
<?php
require_once("Cache/Lite.php");
 
$options = array(
    'cacheDir' => '/cache/',
    'lifeTime' => 7200
);
 
$SESSION['cache'] = $Cache_Lite = new Cache_Lite($options );
$SESSION['id'] = $id ='page'.str_replace(array('/', '.'), array('', '' ),$_SERVER['REQUEST_URI']); 
 
if ($data = $Cache_Lite->get($id)){
	print $data.'<!-- Cache -->';
	exit;
}
 
?>

Finalmente en el sistema de plantillas (phpTemplate), agregar:
<?php
 ob_start();
 ob_implicit_flush(0);
 $datos = ob_get_clean();
 $SESSION['cache']->save($datos, $SESSION['id']); //Agregado 
 print $datos; 
?>

Nota: No olvidar dar permiso de escritura para apache el directorio /cache/ (775)


Referencias: http://pear.php.net/manual/en/package.caching.cache-lite.intro.php
por Anónimo el 2009-04-24

Thumb_up
Thumb_down

0%
0%
Para instalar la versión 1.7.7 de Cache Lite
pear install Cache_Lite-1.7.7
por Anónimo el 2009-05-14

Anónimo:   Entrar


Consejo: Sé tan específico y descriptivo como puedas. Comparte tu experiencia personal o tus conocimientos.
Puedes investigar para completar tu respuesta.

Puedes poner directamente trozos de código usando las etiquetas [code=php] y [/code] o incrustar desde Snipplr.com [snippet=id_snippet]

Compartir: WebeameMeneame Delicious Digg

Preguntas relacionadas