Desenvolver para o serviço de cache gerenciado do Azure

Importante

A Microsoft recomenda que todos os novos desenvolvimentos usem o Cache Redis do Azure. Para obter documentação e diretrizes atuais sobre como escolher uma oferta do Cache do Azure, confira qual oferta do Cache do Azure é certa para mim?

Serviço de Cache Gerenciado fornece um conjunto de APIs para adicionar, atualizar e remover itens de um cache. Usar as classes e métodos no 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 abordam o uso programático direto de Serviço de Cache Gerenciado. Para obter mais informações sobre os provedores de ASP.NET para Serviço de Cache Gerenciado, consulte ASP.NET 4 Provedores de Cache para Serviço de Cache Gerenciado do Azure.

Modelo de Programação

O modelo de programação Serviço de Cache Gerenciado foi projetado para o padrão de programação de cache à parte. 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.

Considerações sobre programação cache-aside

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.

Ao usar o recurso Serviço de Cache Gerenciado alta disponibilidade, cópias de backup de itens armazenados em cache ajudam a proteger contra falhas de computador e de 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 Serviço de Cache Gerenciado do Azure.

Há muitas outras razões pelas quais seu código pode encontrar uma falha no cache. Por exemplo, o item de cache pode ter expirado ou 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 Serviço de Cache Gerenciado do Azure.

Processo de desenvolvimento

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

  1. Criar um cache.

  2. Configurar os clientes para uso de cache.

  3. Use a API Serviço de Cache Gerenciado para usar o cache.

Criar um Cache

Os caches em Serviço de Cache Gerenciado são criados usando cmdlets do Powershell e gerenciados no Portal de Gerenciamento do Azure. Para obter diretrizes sobre como criar um cache, consulte Como criar um cache para Serviço de Cache Gerenciado do Azure.

Configurar os clientes

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

  1. Faça referência aos assemblies Serviço de Cache Gerenciado em seu projeto Visual Studio.

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

Serviço de Cache Gerenciado fornece um pacote NuGet de cache que adiciona as referências de 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 diretrizes passo a passo, consulte Como configurar um cliente de cache para o Azure Serviço de Cache Gerenciado.

Usar a API do serviço de cache

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 Serviço de Cache Gerenciado. O exemplo a defaultdataCacheClient seguir demonstra como adicionar e recuperar uma cadeia de caracteres no default cache usando as configurações da seção do 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");
' 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")

Você também pode acessar o cache nomeado e a seção de 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");
' 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")

Observação

O exemplo anterior não funciona com sobrecargas do método RoleEntryPoint. Para obter mais informações, consulte Como criar um objeto DataCache nos métodos RoleEntryPoint para Serviço de Cache Gerenciado do Azure.

Além disso, o uso da API Serviço de Cache Gerenciado para acessar um cache é fornecido na seção Usando o Azure Serviço de Cache Gerenciado.

Para obter exemplos completos que demonstram Serviço de Cache Gerenciado, consulte Exemplos de Serviço de Cache Gerenciado do Azure.

Nesta seção

Consulte Também

Conceitos

Como criar um cache para o Azure Serviço de Cache Gerenciado

Outros recursos

Serviço de cache gerenciado do Azure