15. Gestión de la caché

La memoria caché almacena páginas web en el dispositivo para que la próxima vez que se acceda, se cargue más rápido y reduzca el ancho de banda consumido. Los navegadores almacenan caché independienemente de la configuración de la web, pero existen distintos métodos para personalizar este comportamiento

15.1. ApplicationCache (HTML 5)

  • Con HTML 5 se ha introducido una forma de poder navegar por una web sin conexión a Internet, indicándole que recursos se pueden utilizar “offline”.
  • Requiere páginas HTTPS.
  • Funciona a través de un “manifiesto”, que es el archivo que le dice al navegador que recursos descargar. La ruta al manifiesto se indica a través de la siguiente propiedad en la etiqueta <html> de cada página:
    • <html manifest="example.appcache">
  • El tipo MIME con el que se deben mostrar los archivos de manifiesto es text/cache-manifest. Puede que haya que añadirlo a la configuración de Apache:
    AddType text/cache-manifest .appcache
  • El contenido del manifiesto (incluye líneas opcionales) es el siguiente:
CACHE MANIFEST 
# 2010-06-18:v2
# Recursos que pueden accederse “offline”.
CACHE:
/favicon.ico
index.html
stylesheet.css
images/logo.png
scripts/main.js
# Recursos que requieren que el usuario esté en línea.
NETWORK:
login.php
/myapi
http://api.twitter.com
FALLBACK:
/main.py /static.html
images/large/ images/offline.jpg
*.html /offline.html

# static.html será servido si main.py es inaccesible
# offline.jpg será servido en lugar de las imágenes de images/large/
# offline.html será servido en lugar del resto de archivos .html
  • El tamaño total del contenido en caché no puede superar los 5 MB.
  • Para que el navegador actualize la caché, se tiene que modificar el manifiesto, de ahí el comentario con la fecha.

15.2. Memcached (para bases de datos)

  • Memcached es un sistema de caché para bases de datos, que evita el acceso frecuente a la base poniendo los datos en caché, cuyo acceso es más rápido.
  • Instalación del servidor Memcached (Ubuntu)
    • apt-get install memcached
  • Instalación del módulo para PHP
    • sudo pecl install memcached

15.3. APCu

  • Instalación:
    • sudo apt install php-apcu

15.4. Otros