Si eres usando Apache, puede usar mod_rewrite para almacenar en caché estáticamente sus páginas web. Digamos que estás usando PHP, y tienes una solicitud para "/somepage.php". En tus .htaccess se puso lo siguiente:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^$ # let's not cache urls with queries
RewriteCond %{REQUEST_METHOD} ^GET$ # or POST/PUT/DELETE requests
RewriteCond static_cache/%{REQUEST_URI} -s # Check that this file exists and is > 0 bytes
RewriteRule (^.*$) static_cache$1 [L] # If all the conditions are met, we rewrite this request to hit the static cache instead
Si su caché se vuelve con las manos vacías, la solicitud es manejada por su script php como de costumbre, por lo que ahora es simplemente una cuestión de hacer su tienda script php el código HTML resultante en la memoria caché . La forma más sencilla de hacerlo es usando otra regla .htaccess para anteponer final anexar un par de archivos php a todas sus peticiones PHP (esto puede o no ser una buena idea, dependiendo de su aplicación):
php_value auto_prepend_file "pre_cache.php"
php_value auto_append_file "post_cache.php"
Entonces que haría algo como esto:
pre_cache.php:
ob_start();
post_cache.php:
$result = ob_get_flush();
if(!$_SERVER['QUERY_STRING']) { # Again, we're not caching query string requests
file_put_contents("static_cache/" + __FILE__, $result);
}
Con algunas expresiones regulares adicionales en el archivo .htaccess también podríamos comenzar a almacenar en caché las solicitudes de cadena de consulta, pero lo dejo como un ejercicio para el lector :)
¿Puede usted dar a esta pregunta el título apropiado? P.ej. "¿Cuáles son los mejores métodos de almacenamiento en caché de datos?", "¿Qué métodos de almacenamiento en caché, que no sean archivos o bases de datos, están disponibles?", O similares. –