Cómo crear una cache super eficiente con php (más rápido que nadie)

Publicado por: German Huayllani Quispe | Publicado el: 15 julio, 2016

5 (100%) 2 votes

Cuando creamos páginas con php nos interesa que la carga de la web sea rápida. Si una página web está cacheada sabemos que la carga es muy rápida. Vamos a ver como cachear de una forma fácil y eficiente dinámicamente con php. Para ser los más rápidos.

Paso 1. Crear un archivo que llamaremos top-cache.php

Crearemos dos ficheros, el primero lo llamaremos top-cache.php, solo tienes que copiar el siguiente código y subir a tu FTP.

<?php
$url = $_SERVER["SCRIPT_NAME"];
$break = Explode('/', $url);
$file = $break[count($break) - 1];
$cachefile = 'cached-'.substr_replace($file ,"",-4).'.html';
$cachetime = 18000;
// Servir desde la cache si es mas actual que $cachetime
if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
echo "<!-- Copia en cache generada ".date('H:i', filemtime($cachefile))." -->\n";
include($cachefile);
exit;
}
ob_start(); // Crear buffer de salida
?>

Veamos que hace este código. En las cinco primeras líneas del código creamos el nombre del archivo que vamos a cachear, por ejemplo, si vamos a cachear un archivo llamado lista.html el archivo cacheado se llamará cache.lista.html

En la línea 6, de código creamos una variable, $cachetime, que determina la vida de la cache.

De la línea 9 a la 13, una sentencia condicional que buscar un archivo llamado $cachefile. Si encuentra el archivo, inserta un comentario, en la línea 10, y el fichero $cachefile es incluido. Entonces, el exit para la ejecución del script y el fichero es enviado al cliente. Todo esto significa, que si encuentra un fichero estático, el código php no se interpreta por el servidor y mostrará el fichero cacheado.

En la línea 14 simplemente va creando un buffer si el $cachefile no se encuentra. Todo esto es para el fichero top-cache.php como habíamos comentado.

Paso 2. Crear un archivo bottom-cache.php

Ahora creamos el segundo fichero, botton-cache.php, copia y pega el siguiente código:

<?php
// Cachear el contenid del fichero
$cached = fopen($cachefile, 'w');
fwrite($cached, ob_get_contents());
fclose($cached);
ob_end_flush(); // Enviar el navegador
?>

Si el fichero $cachefile no se encuentra en el servidor, se ejecuta el código y se crea el fichero, de esta forma la siguiente vez tendremos el fichero cacheado y el servidor servirá el fichero cacheado en lugar de ejecutar el código php.

Paso 3. Incluir los ficheros top-cache.php y bottom-cache.php en tu página

Ahora solamente falta incluir los ficheros top-cache.php y bottom-cache.php en nuestra página. Claramente el fichero top-cache.php se incluye al principio de la página y bottom-cache.php al final de la página, por ejemplo

<? Php
 include ('top-cache.php');
 // El código PHP normal va aquí
 include ('bottom-cache.php');
 ?>

Ya solamente queda probar.

Aqui habra nuestro sistema de comentarios, estamos construyendo, vuelva pronto!

¡Nuestros Servicios!

¿Que es un certificado SSL?

¿Como configurar mi correo corporativo?

Desea saber más y que le asesoremos sobre estos temas? Entonces contactenos ya!

Calle Siete Cuartones #284, Oficina 101 Interior, (Hostel Inka Club) Cusco - Perú RPB: (+51) 984460050 RPC: (+51) 985868342 RPM: (+51) #949764676 Movistar: (+51) 944486615

Suscríbete a nuestro Boletín

Top