Almacenar en caché páginas en PHP es una técnica utilizada para mejorar la velocidad y eficiencia de un sitio web al reducir la carga en el servidor y el tiempo de respuesta para el usuario final. El almacenamiento en caché implica guardar una versión temporal de la página web generada para que futuras solicitudes puedan ser satisfechas más rápidamente desde la caché en lugar de volver a procesar todo el contenido. A continuación, se explica cómo puedes implementar el almacenamiento en caché en PHP, algunos ejemplos y las fuentes utilizadas para construir esta respuesta.
```php
// Directorio de caché
$cache_dir = ‘cache/’;
// Nombre del archivo de caché
$cache_file = $cache_dir . md5($_SERVER[‘REQUEST_URI’]) . ‘.html’;
// Tiempo de vida de la caché en segundos
$cache_lifetime = 3600;
// Revisa si el archivo de caché existe y es válido
if (file_exists($cache_file) && (time() – filemtime($cache_file)) < $cache_lifetime) {
// Lee la caché y envía su contenido
readfile($cache_file);
exit;
}
// Inicia la captura de salida
ob_start();
?>
Ejemplo con Memcached:
```php
$memcache = new Memcache;
$memcache->connect(‘localhost’, 11211) or die(“Could not connect”);
// Clave de caché única basada en la URL
$cache_key = md5($_SERVER[‘REQUEST_URI’]);
// Intenta obtener el contenido de la caché
$content = $memcache->get($cache_key);
if ($content) {
// Si hay caché, envía el contenido y termina el script
echo $content;
exit;
}
// Si no hay caché, empieza la captura de salida
ob_start();
?>
- PHP.net sobre técnicas de caché: [PHP.net](https://www.php.net/manual/es/book.caching.php)
- Documentación de Memcached: [Memcached Documentation](https://www.memcached.org/)
- Documentación de Redis: [Redis Documentation](https://redis.io/documentation)