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.0
02

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