Cache en archivos PHP

Agregar a favoritos

7 Comentarios

Posteado hace 824 días en:

Trasteando un poco por la documentación de symfony me encontré con un sistema muy interesante para cachear trozos de códigos PHP en archivos html.

Lo he adaptado para conseguir 2 funcionillas bastante cortas. Puedes descargarte el ejemplo y trastear un poco.
Hay que tener en cuenta el define CACHE porque es la ruta donde se guardan los archivos cacheados.

Ejemplo:

<?php
//incluimos las funciones
include 'fn.cache.php';
//pasamos un ID y comprobamos si existe el cache
if(!cache('prueba')) {
echo '<ul><li>';
$list = array('xhtml','css','ajax','php');
echo join('</li><li>',$list);
echo '</li></ul>';
//guardamos la salida en cache
cache_save();
}
?>

Por defecto el cache se actualiza cada hora, aunque puedes pasar como segundo parámetro de cache() el tiempo en segundos. Lo que hace es mostrar el cache en caso que exista, sino existe obtiene toda la salida para guardarla con cache_save().
Para consultas sql y cacheado de archivos XML puede venir bien.


  • avatar

    Jordi Rivero#1 hace 823 días

    Tengo una función parecida que comprueba el tipo de dato que quieres cachear y si es una array le hace el serialize/unserialize. Como dice Daniel, es ideal para almacenar por unos minutos consultas sql que no tienen demasiados cambios en los datos o bien si queremos reducir la carga.

  • avatar

    IceBeat#2 hace 822 días

    Yo por ejemplo la uso con easyXML y hago lo mismo que tu, usar serialize/unserialize para cachear el array.
    Son funciones sencillas pero que tienen una utilidad asombrosa.

  • avatar

    IceBeat#3 hace 822 días

    Por cierto Jordi, muchas gracias por el enlace y espero que la gente se anime con el editor :).

  • avatar

    Jordi Rivero#4 hace 822 días

    Seguramente… mucho no se animarán. Pero a mi me encanta. :_)

  • avatar

    IceBeat#5 hace 822 días

    Ya ves jeje, pero bueno es gustazo experimentar y con eso me conformo.

  • avatar

    Omar#6 hace 199 días

    Hola, se que este post es un poco viejo pero quisiera si hay forma de saber si hay cambios en el codigo para que asi volver a crear el archivo cache.


  • avatar

    icebeat#7 hace 199 días

    Buenas Omar, me parece que es imposible para este método, pero puedo ofrecerte otro método que a lo mejor te soluciona la vida.

    Es con includes y la función para saber el archivo de modificación.