Desarrollo 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í?

Managed Cache Service proporciona un conjunto de API para agregar, actualizar y quitar elementos de una memoria caché. El uso de las clases y los métodos del espacio de nombres Microsoft.ApplicationServer.Caching es una manera directa de interactuar con una memoria 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 tratan el uso directo mediante programación de Managed Cache Service. Para más información sobre los proveedores de ASP.NET para Managed Cache Service, consulte ASP.NET 4 Proveedores de caché para Azure Managed Cache Service.

Modelo de programación

El modelo de programación Managed Cache Service está diseñado para el patrón 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.

Consideraciones sobre la programación cache-aside

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 Managed Cache Service, las copias de seguridad de los elementos almacenados en caché ayudan a protegerse contra errores de máquina y proceso en una memoria 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 más información, consulte Alta disponibilidad para Azure Managed Cache Service.

Hay muchas otras razones por las que el código podría encontrar un error en la memoria caché. Por ejemplo, es posible que el elemento de caché haya expirado o se haya expulsado en función de las directivas de expiración y expulsión normales. 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 más información, consulte Expiración y expulsión para Azure Managed Cache Service.

Proceso de desarrollo

Hay algunos pasos básicos que se deben realizar para comenzar a usar almacenamiento en caché en una aplicación.

  1. Crear una memoria caché.

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

  3. Use la API de Managed Cache Service para usar la memoria caché.

Creación de una caché

Las memorias caché de Managed Cache Service 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 Creación de una caché para Azure Managed Cache Service.

Configurar los clientes

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

  1. Haga referencia a los ensamblados Managed Cache Service del proyecto de Visual Studio.

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

Managed Cache Service proporciona un paquete de NuGet de almacenamiento en caché que agrega las referencias de ensamblado 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, consulte Configuración de un cliente de caché para Azure Managed Cache Service.

Uso de la API del servicio de Caché

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

Para acceder directamente a la memoria caché en el código, use las clases DataCacheFactoyConfiguration, DataCacheFactory y DataCache en la API de Managed Cache Service. En el ejemplo siguiente se muestra cómo agregar y recuperar una cadena en la default memoria caché mediante la configuración de la defaultdataCacheClient sección 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");
' Cache client configured by settings in application configuration file.
Dim config As New DataCacheFactoryConfiguration("default")
Dim cacheFactory As New DataCacheFactory(config)
Dim defaultCache As DataCache = cacheFactory.GetDefaultCache()

' Put and retrieve a test object from the default cache.
defaultCache.Put("testkey", "testobject")
Dim strObject As String = defaultCache.Get("testkey")

También puede acceder a la caché con nombre y a la sección del archivo de configuración a través de sobrecargas del constructor 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");
' Cache client configured by settings in application configuration file.
Dim defaultCache As New DataCache("default", "default")

' Put and retrieve a test object from the default cache.
defaultCache.Put("testkey", "testobject")
Dim strObject As String = defaultCache.Get("testkey")

Nota

El ejemplo anterior no funciona en las sobrecargas del método RoleEntryPoint. Para más información, consulte How to: Create a DataCache Object in RoleEntryPoint Methods for Azure Managed Cache Service.

Se proporciona información adicional sobre el uso de la API de Managed Cache Service para acceder a una memoria caché en la sección Uso de Azure Managed Cache Service.

Para ver ejemplos completos que muestran Managed Cache Service, consulte Ejemplos de Azure Managed Cache Service.

En esta sección

Consulte también

Conceptos

Creación de una caché para Azure Managed Cache Service

Otros recursos

Servicio de caché administrado de Azure