Exportar (0) Imprimir
Expandir todo

Caché local (In-Role Cache para Azure Cache)

Actualizado: julio de 2010

La memoria caché local es una característica de Caché de Microsoft Azure que mejora el rendimiento por medio de la reducción de solicitudes de red a memorias cachés remotas. Caché de Microsoft Azure almacena objetos de formato serializado en una memoria caché interna distribuida entre varios servidores. Cuando una aplicación solicita un objeto de la memoria caché, se identifica el servidor que almacena dicho objeto. A continuación, el servidor envía a través de la red el objeto serializado a la aplicación solicitante. La aplicación entonces 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 cache client 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 cache client 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 desde el servidor. A continuación, el cache client deserializa el objeto y almacena la referencia de 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 (In-Role Cache para Azure Cache).

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

Establecer en true o false para habilitar o deshabilitar la memoria caché local.

sync

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

objectCount

Número máximo de objetos que se deben almacenar en la memoria caché local. El valor predeterminado es 10000.

ttlValue

Número máximo 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 basada en el tiempo de expiración. Si desea usar notificaciones para la invalidación, habilítelas para la memoria en 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 solo admitida en las memorias caché hospedadas en los 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 basado 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 usa la memoria caché local, consulte Ejemplo de API y rendimiento del caching.

Vea también

Mostrar:
© 2014 Microsoft