Ver Mensaje Individual
  #9 (permalink)  
Antiguo 10/03/2005, 07:38
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
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.
__________________
Josemi

Aprendiz de mucho, maestro de poco.