Compartir a través de


Caché local para el Servicio de caché administrado de Azure

Importante

Microsoft recomienda todos los nuevos desarrollos que usen Azure Redis Cache. Para obtener documentación actual e instrucciones sobre cómo elegir una oferta de Azure Cache, consulte ¿Qué oferta de Azure Cache es adecuada para mí?

La caché local es una característica de Microsoft Azure Caché que mejora el rendimiento al reducir las solicitudes de red al servicio de caché. El almacenamiento en caché almacena objetos en formato serializado en una memoria caché distribuida en memoria. Cuando una aplicación solicita un objeto de la memoria caché, el objeto serializado se envía a la aplicación solicitante a través de la red. Entonces, la aplicación deserializa el objeto para su uso. Para acelerar el proceso de recuperación de un objeto, habilite la memoria caché local.

Información general acerca de la memoria caché local

Cuando la memoria caché local está habilitada, el cliente de caché almacena una referencia al objeto de forma local. Esta referencia local mantiene el objeto activo en la memoria de la aplicación cliente. Cuando la aplicación solicita el objeto, el cliente de caché comprueba si el objeto se encuentra en la memoria caché local. En caso afirmativo, la referencia al objeto se devuelve inmediatamente, sin contactar con el servicio de caché. Si no existe, el objeto se recupera del servicio de caché. A continuación, el cliente de caché deserializa el objeto y almacena la referencia a este nuevo objeto recuperado en la memoria caché local. La aplicación cliente usa ese mismo objeto.

La duración de un objeto en la memoria caché local depende del número máximo de objetos en la memoria caché local y la política de invalidación. Hay dos tipos de invalidación para la caché local: invalidación basada en tiempo de espera y invalidación basada en notificaciones. Para más información, consulte Expiración y expulsión para Azure Managed Cache Service.

Valores de configuración

La memoria caché local se puede habilitar y configurar mediante el archivo de configuración de aplicación o el archivo web.config. Puede agregar un elemento localCache a la sección dataCacheClient . En la tabla siguiente se enumeran los atributos del elemento localCache .

Atributo Descripción

isEnabled

Se establece en true o false para habilitar o deshabilitar la caché local.

Sincronizar

Determina cómo se invalida la caché local. Los valores posibles son TimeoutBased y NotificationBased.

objectCount

Número máximo de objetos que se almacenan en la memoria caché local. El valor predeterminado es 10 000.

ttlValue

Número de segundos que los objetos permanecen en la memoria caché local. El valor predeterminado es 300 segundos.

Un valor de sincronización de TimeoutBased mantiene los objetos almacenados en caché localmente hasta que se alcanza el límite de ttlValue . Un valor de NotificationBased usa notificaciones además del mecanismo basado en el tiempo de expiración. Para usar notificaciones para la invalidación, primero se deben habilitar las notificaciones para la memoria caché siguiendo los pasos descritos en Habilitación de las notificaciones de caché. El intervalo de sondeo para las notificaciones comprueba si los elementos de la memoria caché local han cambiado. Un intervalo de sondeo efectivo para las notificaciones debe ser más corto que el valor ttlValue para que sea efectivo. Se puede usar un elemento de suma, clientNotification, para configurar el intervalo de sondeo para las notificaciones estableciendo el atributo pollInterval en el número de segundo. El valor predeterminado es 300 segundos.

Nota

Las notificaciones están disponibles en las ofertas de caché Standard y Premium, y no están disponibles en la oferta Basic. Para más información, consulte Ofertas de caché para Azure Managed Cache Service.

Ejemplos

En el ejemplo siguiente se muestra una sección dataCacheClient que usa la caché local con expiración local basada en el tiempo de espera de cinco minutos (300 segundos).

<dataCacheClient name="default">
  <!-- Other configuration settings for cache omitted -->
  <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
</dataCacheClient>

En el ejemplo siguiente se muestra la sección dataCacheClient anterior cambiada para usar notificaciones para proporcionar sincronización adicional al sondear cada minuto (60 segundos).

<dataCacheClient name="default">
  <!-- Other configuration settings for cache omitted -->
  <localCache isEnabled="true" sync="NotificationBased" objectCount="100000" ttlValue="300" />
  <clientNotification pollInterval="60" />
</dataCacheClient>

Para descargar un ejemplo que usa la memoria caché local, consulte La API de caché y el ejemplo de rendimiento.

Vea también

Otros recursos

Características del Servicio de caché administrado de Azure