Exportar (0) Imprimir
Expandir todo

Caché local (Caché en rol para Caché de Azure)

Actualizado: septiembre de 2014

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 ¿Cuál es la oferta de Caché de Azure más adecuada para mí?.

Caché local es una característica de Caché de Microsoft Azure que mejora el rendimiento al reducir las solicitudes de red a memorias caché remotas. Caché de Microsoft Azure almacena los objetos en formato serializado en una memoria caché de In-Memory que se distribuye en varios servidores. Cuando una aplicación solicita un objeto de la memoria caché, se identifica el servidor que almacena ese objeto. Después, el servidor envía el objeto serializado a la aplicación que realiza la solicitud 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.

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 servidor. Si no existe, el objeto se recupera del servidor. 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 de la memoria caché local: invalidación basada en tiempo de espera e invalidación basada en notificación. Para obtener más información, vea Expiración y expulsión (Caché en rol para Caché de Azure).

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 indican los atributos del elemento localCache.

 

Atributo Descripción

isEnabled

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

sync

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 10000.

ttlValue

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

Un valor sync de TimeoutBased mantiene los objetos en caché local hasta que se alcance el límite ttlValue. Un valor de NotificationBased usa notificaciones además del mecanismo basado en el tiempo de expiración. Para usar notificaciones para invalidaciones, deben habilitarse primero las notificaciones para la memoria caché. El intervalo de sondeo para las notificaciones comprueba si los elementos de la memoria caché local han cambiado. Un intervalo de sondeo eficaz para las notificaciones debe ser menor que el valor ttlValue. Un elemento adicional, clientNotification, se puede usar para configurar el intervalo de sondeo para las notificaciones. Para ello, establezca el atributo pollInterval en el número de segundos. El valor predeterminado es 300 segundos.

noteNota
Las notificaciones son una característica de Caché en rol admitida solo en las cachés hospedadas en roles de . No se admiten las notificaciones en Shared Caching de Microsoft Azure.

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

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

En el ejemplo siguiente se muestra la sección dataCacheClient anterior modificada para usar notificaciones con el fin de proporcionar una sincronización adicional mediante un sondeo cada minuto (60 segundos). Las notificaciones solo se admiten con Caché en rol basada en roles.

    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="WebRole1" />
      <localCache isEnabled="true" sync="NotificationBased" objectCount="100000" ttlValue="300" />
      <clientNotification pollInterval="60" />
    </dataCacheClient>

Para descargar un ejemplo que use la memoria caché local, vea un ejemplo de API y rendimiento del almacenamiento en caché.

Vea también

Mostrar:
© 2014 Microsoft