Esta documentação foi arquivada e não está sendo atualizada.

Desenvolver para o serviço de cache gerenciado do Azure

Atualizado: agosto de 2015

ImportantImportante
A Microsoft recomenda que todos os novos desenvolvimentos usem Cache Redis do Azure. Para documentação atual e orientação sobre como escolher uma oferta de Cache do Azure, consulte Qual oferta de Cache do Azure é ideal para mim?

O Serviço de cache gerenciado fornece um conjunto de APIs para adicionar, atualizar e remover itens de um cache. O uso das classes e métodos do namespace Microsoft.ApplicationServer.Caching é uma maneira direta de interagir com um cache. Por outro lado, o uso de um dos provedores ASP.NET é uma maneira indireta de usar um cache. Os tópicos desta seção abrangem o uso programático direto do Serviço de cache gerenciado. Para obter mais informações sobre os provedores ASP.NET do Serviço de cache gerenciado, consulte Provedores de cache ASP.NET 4 para o serviço de cache gerenciado do Azure.

O modelo de programação do Serviço de cache gerenciado é projetado para o padrão de programação cache-aside. Se os dados não estiverem presentes no cache, o aplicativo, e não o cache distribuído, deve recarregá-los para o cache a partir da fonte de dados original.

O código do aplicativo deve ser projetado para funcionar independentemente do cache, de modo que o aplicativo continue a funcionar se os dados em cache não estiverem disponíveis. Como os dados em cache não são persistidos de maneira durável, existe a possibilidade de que estejam indisponíveis. Por exemplo, se um cache for dimensionado para uma oferta de cache diferente, os itens em cache na memória serão perdidos. A solicitação de um item que não existe no cache é designada como um erro de cache.

Quando o recurso de alta disponibilidade do Serviço de cache gerenciado é usado, cópias de backup dos itens em cache ajudam a proteger contra falhas da máquina e do processo em um cache. Mesmo com a alta disponibilidade habilitada, há uma possibilidade, embora remota, de que todos os dados em cache sejam perdidos em decorrência de um evento desastroso de grandes proporções. Os itens que exigem persistência devem usar um banco de dados ou outras técnicas de armazenamento persistente. Para obter mais informações, consulte Alta disponibilidade para o serviço de cache gerenciado do Azure.

Existem muitas razões pelas quais o código pode se deparar com um erro de cache. Por exemplo, o item em cache pode ter expirado ou ter sido removido com base em políticas normais de expiração e remoção. Seja qual for o motivo, o código do aplicativo deve ser capaz de acessar a fonte de dados original para reinserir o item no cache. Para obter mais informações, consulte Expiração e remoção para o serviço de cache gerenciado do Azure.

Existem algumas etapas básicas para começar a usar o caching em um aplicativo.

  1. Criar um cache.

  2. Configurar os clientes para uso de cache.

  3. Usar a API do Serviço de cache gerenciado para usar o cache.

Os caches no Serviço de cache gerenciado são criados usando cmdlets do Powershell e gerenciados no Portal de Gerenciamento do Azure. Para obter orientação sobre como criar um cache, consulte Como: Criar um cache para o serviço de cache gerenciado do Azure.

Você deve configurar o seu aplicativo, também designado como cliente de cache, para usar o cache. Isso é feito em duas etapas:

  1. Referencie os assemblies do Serviço de cache gerenciado no seu projeto Visual Studio.

  2. Use parâmetros de arquivo de configuração ou código para configurar o acesso ao cache.

O Serviço de cache gerenciado fornece um pacote NuGet de caching que adiciona as referências a assembly e insere a configuração necessária no arquivo web.config ou app.config do projeto. Depois de instalar o pacote NuGet de cache, você editar a configuração recém-adicionada e especificar o ponto de extremidade do cache e a chave de acesso. Para obter instruções passo a passo, consulte Como: Configurar um cliente de cache para o serviço de cache gerenciado do Azure.

A etapa final é usar o cache no código do aplicativo. Isso pode ser feito de duas maneiras:

Para acessar diretamente o cache no código, use as classes DataCacheFactoyConfiguration, DataCacheFactory e DataCache na API do Serviço de cache gerenciado. O exemplo a seguir demonstra como adicionar e recuperar uma cadeia de caracteres no cache default usando as configurações da seção default de dataCacheClient no arquivo de configuração do aplicativo.

// 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");

É possível também acessar o cache nomeado e a seção do arquivo de configuração por meio de sobrecargas do construtor DataCache. O exemplo de código a seguir é idêntico em função ao exemplo anterior.

// 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");
noteObservação
O exemplo anterior não funciona com sobrecargas do método RoleEntryPoint. Para obter mais informações, consulte Como: Criar um objeto DataCache em métodos RoleEntryPoint para o serviço de cache gerenciado do Azure.

Informações adicionais sobre o uso da API do Serviço de cache gerenciado para acessar um cache são fornecidas na seção Usando o serviço de cache gerenciado do Azure.

Para obter exemplos completos demonstrando o Serviço de cache gerenciado, consulte Exemplos do serviço de cache gerenciado do Azure.

Consulte também

Mostrar: