VENTAS: 1-800-867-1389

Expiración y expulsión para el Servicio de caché administrado de Azure

Actualizado: agosto de 2015

noteNota
Si quiere que le guiemos a la hora de elegir la oferta de Caché de Azure que mejor se adapta a su aplicación, consulte Which Azure Cache offering is right for me?.

Caché de Microsoft Azure no conserva permanentemente en la memoria los objetos en caché. Además de quitarse explícitamente de la memoria caché con el método Remove, los objetos en caché también pueden expirar o la caché puede expulsarlos.

La expiración de caché permite a la caché quitar automáticamente los objetos almacenados en caché de esta. Cuando se usan los métodos Put o Add, se puede establecer un valor opcional de expiración de objeto, para cada objeto en caché, que determinará durante cuánto tiempo permanecerá en caché. Si el valor de tiempo de espera del objeto no se proporciona en el momento en que el objeto se almacena en caché, este usa el tiempo de expiración predeterminado. El tiempo predeterminado para Servicio de caché administrado es de diez minutos.

La Directiva de expiración funciona junto con la configuración Tiempo (min) para determinar cuándo expiran los elementos en caché. Estos comportamientos se configuran a nivel de la caché con nombre en el Portal de administración en la pestaña Configurar de Caché.

Directiva de expiración para Servicio de almacenamiento en caché de Windows Azure

Hay tres tipos de directivas de expiración: Absoluta, Deslizante y Nunca.

 

Directiva de expiración Descripción

Nunca

La expiración está deshabilitada. Los elementos permanecen en la memoria caché hasta que se expulsan. Cuando se especifica Nunca, Tiempo (min) debe establecerse en 0.

Absoluto

El intervalo de expiración especificado por Tiempo (min) comienza cuando se agrega un elemento a la memoria caché. Una vez que el período de tiempo especificado en Tiempo (min) ha transcurrido, el elemento expira.

Deslizante

El intervalo de expiración especificado por Tiempo (min) se reinicia cada vez que se accede a un elemento en la memoria caché. El elemento no expira hasta que el período de tiempo especificado en Tiempo (min) ha transcurrido, después del último acceso al elemento. De este modo, los elementos que se usan con frecuencia se conservan en la memoria caché durante más tiempo.

Absoluto es la directiva de expiración predeterminada y diez minutos es la configuración predeterminada para Tiempo (min). La directiva de expiración se determina para cada elemento en una caché con nombre, pero Tiempo (min) se puede personalizar para cada elemento mediante las sobrecargas Add y Put que toman un parámetro timeout.

noteNota
Es importante tener en cuenta el comportamiento de la expiración Deslizante cuando se usa en combinación con caché local. Si un elemento se lee desde la memoria caché local, esta no accede al objeto en la caché. Por lo tanto, es posible que el elemento expire en el servidor, incluso si se está leyendo de forma local.

Cuando los objetos en caché se bloquean con fines de simultaneidad, no se eliminarán de la caché, incluso si ha expirado. Cuando se desbloqueen, se quitarán inmediatamente de la caché si han expirado.

Para evitar la eliminación instantánea cuando se desbloquean objetos caducados, el método Unlock también permite extender la expiración del objeto en caché.

Puede ver el estado y el rendimiento de su caché en la pestaña Supervisar de Caché en el Portal de administración, incluidas las métricas de expulsión y expiración. Para obtener más información, vea Monitoring the cache service using the Monitor tab.

Hay dos tipos complementarios de invalidación de la memoria caché local: invalidación basada en tiempo de espera e invalidación basada en notificación.

TipSugerencia
Una vez que se han almacenado los objetos en la memoria caché local, la aplicación puede seguir usando estos objetos hasta que se invaliden, independientemente de si otro cliente los ha actualizado o no. Por esta razón, es mejor habilitar la memoria caché local para datos que no se modifican con frecuencia.

Una vez que los objetos se han descargado a la memoria caché local, permanecen allí hasta que alcanzan el valor de tiempo de espera de objeto especificado en los valores de configuración del cliente de caché. Cuando alcanzan este valor de tiempo de espera, los objetos se invalidan, de modo que pueden actualizarse desde la caché la próxima vez que se solicite.

Si el cliente de caché ha habilitado la memoria caché local, también se pueden usar notificaciones de caché para invalidar automáticamente los objetos almacenados en caché local. Al reducir la vida útil de estos objetos según las necesidades, se puede reducir la posibilidad de que la aplicación use datos obsoletos.

noteNota
Las notificaciones están disponibles en las ofertas de caché Standard y Premium, y no están disponibles en la oferta Basic. Para obtener más información, vea Ofertas de Caché para el Servicio de caché administrado de Azure.

Cuando se usan notificaciones de caché, la aplicación comprueba con la memoria caché, a intervalos periódicos, si hay nuevas notificaciones disponibles. Este intervalo, denominado intervalo de sondeo, se produce cada 300 segundos de forma predeterminada. El intervalo de sondeo se especifica en unidades de segundos en las opciones de configuración de la aplicación. Tenga en cuenta que, con la invalidación basada en notificación, se siguen aplicando tiempos de espera a los elementos de la memoria caché local. De ese modo, la invalidación basada en notificación es complementaria a la invalidación basada en tiempo de espera.

Para obtener más información y ejemplos, vea Caché local para el Servicio de caché administrado de Azure.

Para mantener la capacidad de memoria disponible para una caché, se admite la expulsión que se haya utilizado más recientemente (LRU). Cuando el consumo de memoria se acerca al tamaño de su oferta de caché, los objetos se expulsan de la memoria, independientemente de si han expirado o no, hasta que se libera la presión de memoria.

WarningAdvertencia
Si deshabilita la expulsión, corre el riesgo de que se produzcan limitaciones. En esta condición, la memoria ha superado el umbral, pero no hay posibilidad de subsanar la escasez en memoria. Los clientes que intenten agregar elementos a la memoria caché en este estado recibirán una excepción hasta que se resuelva.

Puede ver el estado y el rendimiento de su caché en la pestaña Supervisar de Caché en el Portal de administración, incluidas las métricas de expulsión y expiración. Para obtener más información, vea Monitoring the cache service using the Monitor tab.

Hay dos configuraciones para la expulsión: Habilitado y Deshabilitado. La expulsión se configura en el nivel de caché con nombre en el Portal de administración, en la pestaña Configurar para Caché, con la configuración predeterminada de Habilitado.

Directiva de expulsión para Servicio de almacenamiento en caché de Windows Azure

Los métodos siguientes permiten invalidar los ajustes predeterminados de la memoria caché:

  • Los métodos Add y Put proporcionan sobrecargas que permiten especificar un valor de tiempo de espera de expiración solo para el objeto que se agrega a la memoria caché.

  • Los métodos PutAndUnlock y Unlock proporcionan sobrecargas que permiten extender la expiración de un objeto después de desbloquearlo.

  • El método ResetObjectTimeout permite extender explícitamente la duración de un objeto, invalidando los valores de expiración de la memoria caché.

noteNota
Independientemente de la configuración de expiración o expulsión, los datos en caché no se conservan durante los apagados y errores inesperados del servicio de caché. El código de aplicación debe recargar la memoria caché a partir del origen de datos si los datos no se encuentran en la memoria caché. Esto se denomina frecuentemente modelo de programación cache-aside.

Vea también

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios
Mostrar:
© 2016 Microsoft