Este uso de caches es una solucion a unos problemas, pero no es la solucion definitiva a todos los problemas. Y luego hay que tener en cuenta que siempre hay que pagar, en este caso se paga en espacio de disco para ahorrar conexiones a la base de datos. Es cuestion de evaluar costes y beneficios.
Tampoco es necesario tener implementado este sistema para todas las paginas de tu site, es mas, para paginas que casi nunca se ven pero cambian con cierta frecuencia es casi perder recursos.
Tampoco es necesario cachear toda la pagina. Por ejemplo, puedes tener tu cabecera, pie, menu lateral en ficheros independientes, y luego usar el sistema de cache para el contenido central, y luego usar:
Código PHP:
<?php
include('cabecera.inc.php');
include('menu.inc.php');
// aqui va el contenido que quieres cachear
include('cacheador.php');
if (false===($html=cache_abrir())) {
ob_start();
?>
/*Aqui meteis todo el contenido de la pagina que quereis cachear.php */
<?php
$html = ob_get_contents();
ob_end_clean();
cache_guardar($html);
}
echo $html;
include('pie.inc.php');
?>
(por supuesto, cambiando tu cache_abrir() para que devuelva el contenido si existe la cache, o false si no existe)
Asi puedes reducir el tamaño de los ficheros de cache. Incluso si la cabecera, menu y pie son "dinamicos", los puedes cachear por separado.
Y por ultimo, si puedes propagar las sesiones, pero si quieres usar los datos de la sesion no puedes cachear esa pagina completa, solo la que no es afectada por la sesion. De igual forma que los scripts que tratan los datos enviados por formularios no pueden ser cacheados.
Saludos.