Desarrollo para el Servicio de caché administrado de Azure

Actualizado: agosto de 2015

ImportantImportante
Microsoft recomienda que todos los desarrollos nuevos utilicen Caché en Redis de Azure. Para obtener la documentación y orientación actuales sobre cómo elegir una oferta de Caché de Azure, consulte ¿Qué oferta de Caché de Azure debo utilizar?

Servicio de caché administrado ofrece una serie de API para agregar, actualizar y eliminar elementos de una caché. Usar las clases y los métodos del espacio de nombres Microsoft.ApplicationServer.Caching es una forma directa de interactuar con una caché. Por otro lado, usar uno de los proveedores para ASP.NET es una forma indirecta de usar una caché. Los temas de esta sección abordan el uso programático directo de Servicio de caché administrado. Para obtener más información sobre los proveedores para ASP.NET para Servicio de caché administrado, vea Proveedores de caché de ASP.NET 4 para el Servicio de caché administrado de Azure.

El modelo de programación de Servicio de caché administrado está diseñado según el modelo de programación cache-aside. Si sus datos no se encuentran en la caché, es la aplicación, y no la caché distribuida, la que debe recargar los datos en la caché desde el origen de datos original.

Diseñe el código de la aplicación de modo que funcione de manera independiente de la memoria caché, a fin de que la aplicación siga funcionando aunque los datos en caché no estén disponibles. Dado que los datos en la memoria caché no se conservan de forma duradera, existe la posibilidad de que estos datos no estén disponibles. Por ejemplo, si una caché se escala a otra oferta de caché, se pierden los elementos en caché de la memoria. Solicitar un elemento que no existe en la caché se denomina error de caché.

Al usar la característica de alta disponibilidad de Servicio de caché administrado, las copias de seguridad de los elementos en caché ayudan a protegerse frente a los errores en los equipos y los procesos en una caché. Incluso con la alta disponibilidad habilitada, existe la posibilidad, aunque remota, de que todos los datos de la caché se pierdan debido a un desastre importante. Los elementos que requieren persistencia deben usar una base de datos u otras técnicas de almacenamiento persistente. Para obtener más información, vea Alta disponibilidad para el Servicio de caché administrado de Azure.

Existen muchas otras razones por las que el código puede encontrar un error de caché. Por ejemplo, puede que el elemento de caché haya expirado o haya sido expulsado según las directivas normales de expiración y expulsión. Independientemente del motivo, el código de la aplicación debe poder acceder al origen de datos original para volver a completar el elemento en la caché. Para obtener más información, vea Expiración y expulsión para el Servicio de caché administrado de Azure.

Hay algunos pasos básicos para comenzar a usar almacenar en memoria caché en su aplicación.

  1. Crear una memoria caché.

  2. Configurar los clientes para que utilicen la memoria caché.

  3. Usar la API Servicio de caché administrado para usar la memoria caché.

Las memorias caché en Servicio de caché administrado se crean mediante cmdlets de Powershell y, a continuación, se administran en el Portal de administración de Azure. Para obtener instrucciones sobre cómo crear una memoria caché, consulte Procedimiento: Creación de una memoria caché para el Servicio de caché administrado de Azure.

Debe configurar su aplicación, también conocida como cliente de caché, para usar la caché. Esto implica dos pasos:

  1. Hacer referencia a los ensamblados de Servicio de caché administrado en su proyecto de Visual Studio.

  2. Usar las opciones del archivo de configuración o código para configurar el acceso a la memoria caché.

Servicio de caché administrado proporciona un paquete NuGet de almacenar en memoria caché que agrega las referencias de ensamblados e inserta la configuración necesaria en el archivo web.config o app.config del proyecto. Después de instalar el paquete NuGet de Caché, modifique la configuración agregada recientemente y especifique el extremo de caché y la clave de acceso. Para obtener instrucciones paso a paso, vea Procedimiento: Configuración de un cliente de caché para el Servicio de caché administrado de Azure.

El último paso es usar la memoria caché en el código de la aplicación. Se puede hacer de dos maneras:

Para acceder directamente a la caché en el código, use las clases DataCacheFactoyConfiguration, DataCacheFactory y DataCache en la API de Servicio de caché administrado. En el ejemplo siguiente se muestra cómo agregar y recuperar una cadena en la caché default de la sección default dataCacheClient del archivo de configuración de la aplicación.

// Cache client configured by settings in application configuration file.
DataCacheFactoryConfiguration config = new DataCacheFactoryConfiguration("default");
DataCacheFactory cacheFactory = new DataCacheFactory(config);
DataCache defaultCache = cacheFactory.GetDefaultCache();    

// Put and retrieve a test object from the default cache.
defaultCache.Put("testkey", "testobject");
string strObject = (string)defaultCache.Get("testkey");

También puede acceder a la caché con nombre y a la sección del archivo de configuración mediante sobrecargas del constructor de DataCache. El ejemplo de código siguiente es idéntico al ejemplo anterior en su función.

// Cache client configured by settings in application configuration file.
DataCache defaultCache = new DataCache("default", "default");

// Put and retrieve a test object from the default cache.
defaultCache.Put("testkey", "testobject");
string strObject = (string)defaultCache.Get("testkey");
noteNota
El ejemplo anterior no funciona en las sobrecargas del método RoleEntryPoint. Para obtener más información, vea Procedimiento: Creación de un objeto DataCache en métodos RoleEntryPoint para el Servicio de caché administrado de Azure.

En la sección Usar el Servicio de caché administrado de Azure encontrará información adicional sobre el uso de la API de Servicio de caché administrado para acceder a una caché.

Para obtener ejemplos completos que demuestren Servicio de caché administrado, vea Ejemplos del Servicio de caché administrado de Azure.

Vea también

Mostrar: