La invalidación de la caché es un proceso en un sistema informático mediante el cual se reemplazan o eliminan las entradas de la caché .
Esto puede hacerse explícitamente, como parte de un protocolo de coherencia de caché . En tal caso, un procesador modifica una ubicación de memoria y luego invalida los valores almacenados en caché de esa ubicación en el resto del sistema informático.
Invalidación explícita
La invalidación de la caché se puede utilizar para enviar contenido nuevo a un cliente . Este método funciona como una alternativa a otros métodos para mostrar contenido nuevo a los clientes conectados. La invalidación se lleva a cabo modificando los datos de la aplicación, lo que a su vez marca la información recibida por el cliente como obsoleta. Una vez invalidada la caché, si el cliente la solicita, se le entrega una versión actualizada. [ 1 ]
Métodos
Existen tres métodos específicos para invalidar una caché, pero no todos los servidores proxy de caché admiten estos métodos.
Purga
Elimina el contenido del proxy de caché inmediatamente. Cuando el cliente solicita los datos nuevamente, se recuperan de la aplicación y se almacenan en el proxy de caché. Este método elimina todas las variantes del contenido almacenado en caché. [ 1 ]
Refrescar
Obtiene el contenido solicitado de la aplicación, incluso si hay contenido en caché disponible. El contenido previamente almacenado en la caché se reemplaza con una nueva versión de la aplicación. Este método afecta solo a una variante del contenido en caché. [ 1 ]
Prohibición
Se agrega una referencia al contenido almacenado en caché a una lista negra (o lista de bloqueo). Luego, las solicitudes del cliente se comparan con esta lista negra y, si una solicitud coincide, se obtiene el nuevo contenido de la aplicación, se devuelve al cliente y se agrega a la caché. [ 1 ]
Este método, a diferencia de la purga, no elimina inmediatamente el contenido almacenado en caché del proxy de caché. En cambio, el contenido en caché se actualiza después de que un cliente solicita esa información específica.
Alternativas
Existen algunas alternativas a la invalidación de la caché que permiten ofrecer contenido actualizado al cliente. Una alternativa consiste en que el contenido almacenado en caché caduque rápidamente reduciendo el tiempo de vida (TTL) a un valor muy bajo. Otra alternativa es validar el contenido almacenado en caché en cada solicitud. Una tercera opción es no almacenar en caché el contenido volátil solicitado por el cliente. Estas alternativas pueden causar problemas, ya que generan una alta carga en la aplicación debido a las solicitudes de información más frecuentes. [ 1 ]
Desventajas
Utilizar la invalidación para transferir contenido nuevo puede resultar difícil al invalidar múltiples objetos. Invalidar múltiples representaciones añade un nivel de complejidad a la aplicación. La invalidación de la caché debe realizarse a través de un proxy de caché; estas solicitudes pueden afectar al rendimiento del proxy de caché, lo que provoca que la información se transfiera a los clientes a una velocidad menor. [ 1 ]
Referencias
- 1 2 3 4 5 6 "Introducción a la invalidación de caché: documentación de FOSHttpCache" . foshttpcache.readthedocs.org . Consultado el 2 de enero de 2016 .
- Coherencia de caché