Exportar (0) Imprimir
Expandir Tudo

Sobre cache na função para cache do Azure

Atualizado: setembro de 2014

noteObservação
Para orientação sobre como escolher a oferta Azure Cache para seu aplicativo, consulte Qual oferta de cache do Azure é ideal para mim?.

O Cache na Função oferece suporte à capacidade de hospedar serviços do caching em funções do . Neste modelo, o cache faz parte de seu serviço em nuvem. Uma função dentro de serviço de nuvem é selecionada para hospedar o Cache na Função. As instâncias dessa função em execução unem os recursos de memória para formar um cluster de cache. Esse cluster privado de cache está disponível somente para as funções dentro da mesma implantação. Existem duas topologias de implantação principais para Cache na Função: colocalizada e dedicada. As funções colocalizadas também hospedam código e serviços de outros aplicativos que não usam cache. As funções dedicadas são funções de trabalho usadas exclusivamente para o caching. Os tópicos a seguir discutem mais detalhadamente essas topologias do caching.

Para obter instruções passo a passo sobre o Cache na Função baseado em função, consulte Como usar o cache do Azure. Para obter exemplos para download, consulte Exemplos de cache na função (cache do Azure).

Esta seção fornece uma visão geral de três conceitos fundamentais relacionados ao Cache na Função baseado em função.

  1. Cluster de cache

  2. Caches nomeados

  3. Clientes de cache

As funções do Azure possuem uma ou mais instâncias. Cada instância é uma máquina virtual configurada para hospedar a função especificada. Quando uma função que tem o Cache na Função habilitado é executada em várias instâncias, um cluster de cache é formado. Um cluster de cache é um serviço de cache distribuído que usa a memória combinada de todas as máquinas no cluster. Os aplicativos podem adicionar e recuperar itens do cluster de cache sem terem que saber em qual máquina esses itens estão armazenados. Quando a alta disponibilidade está habilitada, uma cópia de backup do item é armazenada automaticamente em outra instância de máquina virtual.

noteObservação
Só há suporte a um cluster de cache para cada serviço de nuvem. É possível configurar vários clusters de cache em um serviço de nuvem especificando contas de armazenamento separadas para cada função. Essa configuração, porém, não tem suporte.

Ao habilitar o Cache na Função em uma função do , você especifica a quantidade de memória que poderá ser usada para cache. Em um cenário colocalizado, você escolhe a porcentagem da memória disponível nas máquinas virtuais que hospedam a função. Em um cenário dedicado, toda a memória disponível nas máquinas virtuais é usada para cache. Entretanto, a memória disponível sempre é menor que a memória física total na máquina virtual devido aos requisitos de memória do sistema operacional.

Consequentemente, a quantidade total de memória do caching corresponde à memória de função reservada para o caching multiplicada pelo número de funções. É possível dimensionar efetivamente a memória total do caching para mais ou para menos aumentando ou diminuindo o número de instâncias dessa função em execução.

WarningAviso
Ao dimensionar para menos as instâncias em execução da função que hospeda o Cache na Função, não reduza a contagem em mais que três instâncias de cada vez. Quando a alteração for concluída, você poderá remover até três instâncias em execução adicionais; repita o procedimento até atingir o número necessário de instâncias em execução. O dimensionamento com redução de mais de três instâncias provoca instabilidade no cluster de cache.

Cada cluster de cache mantém informações compartilhadas sobre o estado de tempo de execução do cluster no armazenamento do . Durante o desenvolvimento, você pode usar o emulador de armazenamento do . As funções implantadas deve especificar uma conta de armazenamento válida do . No Visual Studio, você pode especificar a conta de armazenamento apropriada na guia Cache das propriedades da função.

Cada cluster de cache tem pelo menos um cache chamado default. Com o Cache na Função baseado em função, você também pode criar caches nomeados adicionais. Existem várias configurações que podem ser alteradas para cada cache. A captura de tela a seguir mostra a seção Configurações de Cache Nomeado da guia Cache nas configurações de função do Visual Studio.

Propriedades do armazenamento em cache para caches nomeados

No Visual Studio, clique no botão Adicionar Cache Nomeado para inserir caches nomeados adicionais. No exemplo anterior, dois caches adicionais foram criados, NamedCache1 e NamedCache2. Cada cache tem configurações diferentes. Altere as configurações selecionando e modificando os campos específicos na tabela.

Os caches nomeados fornecem flexibilidade aos designers de aplicativos. Cada cache nomeado tem suas próprias propriedades. Por exemplo, um cache pode habilitar a Alta Disponibilidade para tirar proveito desse recurso. Outros caches podem não precisar da alta disponibilidade, que requer o dobro de memória para cada item em cache. Para fazer melhor uso dos recursos, a alta disponibilidade deve ser usada somente nos caches que precisam disso. Existem outros cenários semelhantes em que vários caches podem ser usados com diferentes propriedades para atender aos requisitos do aplicativo.

Um cliente de cache é qualquer código de aplicativo que armazena e recupera itens no cluster de cache. Com o Cache na Função em funções, os clientes de cache devem fazer parte da mesma função do caching ou ser incorporados a outras funções na implantação. Configure os clientes de cache usando os arquivos de configuração do aplicativo ou da Web. Para obter mais informações, consulte Como: Preparar o Visual Studio para usar cache na função (cache do Azure). O exemplo a seguir mostra o elemento dataCacheClient em um arquivo de configuração.

<dataCacheClients>
  <dataCacheClient name="default">
    <autoDiscover isEnabled="true" identifier="CachingRole1" />
    <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
  </dataCacheClient>
</dataCacheClients>

No exemplo anterior, o elemento autoDiscover possui um atributo identifier definido como CachingRole1. Esse identificador especifica que o CachingRole1 tem o Cache na Função habilitado. Ele fornece a localização do servidor de cache. O cliente de cache usa CachingRole1 automaticamente em qualquer operação do caching.

Depois de ser configurado, o cliente de cache pode acessar qualquer cache pelo nome. O exemplo a seguir acessa o cache NamedCache1 e adiciona um item a ele.

DataCache cache = new DataCache("NamedCache1", "default");
cache.Put("testkey", "testobject");

O construtor DataCache recebe dois parâmetros: o nome do cache e o nome da seção dataCacheClient. Para obter mais informações sobre o nome do cache, consulte a seção anterior sobre Caches nomeados.

Consulte também

Conceitos

Cache

Mostrar:
© 2014 Microsoft