Acelera contenidos - PHP Cache
CACHEANDO CONTENIDOS EN PHP
Imagina que tienes un portal de contenidos en el que digamos que en la pagina principal hay muchos accesos a base de datos. Cada vez que un usuario accede a dicha pagina se lanzan todas las consultas, cuando en realidad el resultado de dichas consultas no varia mucho. Por ejemplo un sistema de noticias, con este sistema de cacheado solo se lanzará una consulta a tu bbdd cuando se publique una nueva noticia. Puedes hacer lo mismo con sistemas de comentarios, links... De esta manera todos las visitas que tengas sólo el primero realizará las consultas a tu bbdd cuando haya una nueva, el resto verá el resultado cacheado.
Un sencillo ejemplo de cacheado php:
ob_start();
// inicia el buffer de salida
echo ‘Este texto esta en el buffer !
’;
// escribe algo que vaya al buffer
$bufferContent = ob_get_contents();
// guarda en contenido del buffer en una variable
ob_end_clean();
// deten y limpia el buffer de salida
echo $bufferContent;
// escribe el contenido del buffer
?>
Ahora vamos con lo interesante. El primer visitante que use el buffer output creará un fichero de cache que será mostrado al resto de visitantes.
Cuando insertes una nueva noticia, prepara el script para que elimine el fichero guardado.
Este es el ejemplo completo:
// chequea si exite el fichero de cache
if ( file_exists( ‘cachefile.txt’ ) ) {
// si existe , lee su contenido y muestralo
readfile ( ‘cachefile.txt’ );
exit();
}
// si no existe el fichero de cache, inicializa
ob_start();
// display some HTML ( this will be stored in the buffer )
?>
Caching server output
este es el contenido del fichero de cache#ejecuta las consultas que quieras, sólo se ejecutaran esta vez
#......................
#........
$bufferContent = ob_get_contents();
// recoge el contenido del buffer
ob_end_flush();
// limpia y muestra el contenido del buffer en el navegador
$fp = fopen ( ‘cachefile.txt’ , ‘w’ ) or die ( ‘Error abrir fichero de cache ’ );
// guarda el contenido de la cache en el fichero de cache
fwrite ( $fp , $bufferContent );
fclose( $fp );
?>
Con este sistema acelerás la carga de contenidos en portales con mucho trafico a tus bbdd.
kaiowazoneZonaprecios
http://www.zonaprecios.com
Registro automático