Las purgas invalidan (eliminan) un objeto almacenado en caché antes de su fecha natural de vencimiento. Sirven para purgar algo que es incorrecto o está obsoleto, o bien para cuando hay que publicar una noticia de última hora. Una vez purgado el objeto, la siguiente petición del mismo se responderá desde el origen, no desde la caché.
Puede haber muchas razones por las que el dueño de un sitio web quiera purgar una memoria caché. Por ejemplo, si eres un retailer de comercio electrónico, querrás asegurarte de que el precio y el inventario de un producto siempre estén actualizados, motivo más que suficiente para implementar una política de purga. Si, en cambio, llevas un sitio web de noticias y el titular o el cuerpo de un artículo ya no son de actualidad, la purga sirve para que el nuevo titular y contenido se recuperen desde el servidor del origen y se almacenen en la memoria caché en el lugar que ocupaba la versión obsoleta.
¿Cómo funciona una purga?
Cuando un objeto se almacena en caché tiene un tiempo de vigencia, también llamado tiempo de vida o TTL, y se puede ofrecer sin necesidad de volver a validarlo en el servidor de origen. Una vez que el objeto en caché alcanza su valor de TTL, vence y la caché ya no se considera vigente, aunque el objeto obsoleto se puede seguir ofreciendo antes de que se expulse y la caché quede validada de nuevo.
Cuando necesites eliminar contenido de la caché antes de su hora normal de vencimiento, puedes purgarlo. Esta solución suele ser necesaria cuando el contenido en caché contiene errores, ya no es de actualidad o debe actualizarse de inmediato por algún cambio importante. Sea por lo que sea, estarás purgando para sustituir lo que se encuentra almacenado en caché en tu sitio por una versión más nueva y vigente que proviene del origen.
Métodos de purga de la memoria caché
Ahora que ya sabes en qué consisten las purgas, repasemos los varios métodos que existen de purgar la memoria caché:
Purga de caché manual: radica en iniciar de forma manual una petición de purga para un cierto contenido o ruta. Se puede llevar a cabo a través de una interfaz de usuario, API o herramienta de línea de comandos que ofrezcan tu sistema de almacenamiento en caché o tu red de distribución de contenidos (CDN). La purga manual resulta útil para situaciones esporádicas o puntuales en las que haya que actualizar contenido al instante.
Purga de caché automática: con este método, las peticiones de purga se inician automáticamente según se den ciertos eventos o condicionantes, como pueden ser la publicación o la actualización de nuevo contenido en tu sistema de gestión de contenidos. Las purgas automáticas permiten asegurarse de que el contenido en caché sigue vigente sin intervención manual.
Estrategias de purga:
Purga completa: una purga completa invalida toda la caché y elimina todo su contenido. Este método contundente suele usarse solamente en casos de necesidad imperiosa, ya que perjudica al rendimiento de la memoria caché hasta que recibe de nuevo todo el contenido.
Purga parcial: con una purga parcial, invalidarás un contenido concreto de la caché, como pueden ser ciertas URL, patrones de rutas o tipos de contenido. Así, puedes ir al detalle al purgar solo el contenido obsoleto.
Purga inteligente: algunos sistemas de almacenamiento en caché ofrecen una lógica de purga más inteligente basada en factores como la antigüedad de la caché, los niveles de tráfico o las relaciones entre contenidos con tal de mantener la vigencia sin que ello afecte al rendimiento.
Prácticas recomendadas de la purga de caché
Unas purgas de caché efectivas garantizan la relevancia del contenido y mantienen un rendimiento óptimo. Veamos las prácticas que se recomiendan si quieres alcanzar este equilibrio:
Define qué situaciones y condiciones concretas desencadenarán la purga y cuáles son los métodos adecuados (total, parcial o inteligente) en cada situación. Para ello, piensa en qué requisitos de vigencia presenta tu contenido, la importancia de la misma y la frecuencia de actualización.
Fija purgas de caché regulares, ya sean totales o parciales, con tal de restablecer la caché limpiando el contenido obsoleto que pueda quedar. La frecuencia dependerá de la naturaleza de los contenidos: los que cambian rápidamente requerirán purgas más a menudo.
Integra las purgas de caché en tu sistema de gestión de contenidos, canalizaciones de CI/CD y demás herramientas para automatizar las purgas según se actualice o despliegue contenido. La automatización garantiza unas purgas a tiempo y reduce el trabajo manual.
Las purgas, sobre todo las totales, pueden afectar de forma temporal al rendimiento hasta que el contenido vuelva a almacenarse en caché. Puedes probar flujos de trabajo de purga, regular por frecuencia o volumen o bien contemplar el uso de lógica inteligente para minimizar el impacto que podrían sufrir tus servidores de origen.
Supervisa en todo momento la efectividad de tus procesos de purga, haz un seguimiento de las métricas y ajusta las políticas y los flujos de trabajo según sea necesario. Prepárate para adaptar tus estrategias a medida que cambien tus requisitos o las tecnologías que uses.
Ejemplos de purgas
Pongamos que publicas una noticia pero descubres que contiene un error, lo corriges y lo envías a tus servidores de origen mediante el proceso de despliegue. Sin embargo, el artículo incorrecto sigue estando en la caché y se puede distribuir a los clientes hasta que envíes una petición de purga, que también puedes realizar mediante un encabezado HTTP. Una purga indica a la memoria caché que deje de distribuir el objeto en caché ante las peticiones de los clientes y, en su lugar, recupere el objeto nuevo del origen. Dicho objeto sustituye a lo que haya en caché y se puede ofrecer en respuesta a peticiones posteriores.
Ten en cuenta que este método de purga solo funciona con memorias caché descentralizadas que hayas implementado, como un proxy inverso o una CDN; no se pueden enviar peticiones de purga a cachés de navegadores locales de usuarios para forzar purgas. Si trabajas con una CDN, recomendamos configurar los encabezados HTTP para evitar, desde un buen principio, que se almacenen objetos en la caché del navegador.
En la Fastly Academy encontrarás más información acerca de la purga de caché.
Descubre cómo almacenar en caché con la CDN de Fastly.