Cache local no Cache na Função 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?

O cache local é um recurso do cache Microsoft Azure que melhora o desempenho reduzindo as solicitações de rede para caches remotos. Microsoft Azure Cache armazena objetos em forma serializada em um cache na memória distribuído em vários servidores. Quando um aplicativo solicita um objeto do cache, o servidor que armazena esse objeto é identificado. Esse servidor envia então o objeto serializado ao aplicativo solicitante pela rede. O aplicativo em seguida desserializa o objeto para seu uso. Para acelerar o processo de recuperação de um objeto, ative o cache local.

Visão geral do cache local

Quando o cache local é ativado, o cliente de cache armazena uma referência ao objeto localmente. Essa referência local mantém o objeto ativo na memória do aplicativo cliente. Quando o aplicativo solicita o objeto, o cliente de cache verifica se o objeto reside no cache local. Em caso afirmativo, a referência ao objeto é retornada imediatamente, sem contactar o servidor. Se o objeto não existe, ele é recuperado do servidor. Em seguida, o cliente de cache desserializa o objeto e armazena a referência a esse objeto recém-recuperado no cache local. O aplicativo cliente usa esse mesmo objeto.

O tempo de vida de um objeto no cache local depende do número máximo de objetos no cache local e da política de invalidação. Há dois tipos de invalidação para cache local: invalidação baseada em tempo limite e invalidação baseada em notificação. Para obter mais informações, consulte Expiração e Remoção no Cache In-Role do Azure.

Definições de configuração

O cache local pode ser ativado e configurado usando o arquivo de configuração do aplicativo ou o arquivo web.config. Você pode adicionar um elemento localCache à seção dataCacheClient . A tabela a seguir lista os atributos do elemento localCache .

Atributo Descrição

Isenabled

Defina como true ou false para habilitar ou desabilitar o cache local.

Sincronização

Determina como o cache local é invalidado. Os valores possíveis são TimeoutBased e NotificationBased.

objectCount

O número máximo de objetos a serem armazenados no cache local. O padrão é 10000.

ttlValue

O número de segundos de permanência dos objetos no cache local. O padrão é 300 segundos.

Um valor de sincronização de TimeoutBased objetos armazenados em cache localmente até que o limite ttlValue seja atingido. Um valor de NotificationBased usa notificações além do mecanismo baseado em tempo limite. Para usar notificações para invalidação, ative as notificações no cache. O intervalo de consulta de verificações de notificações para determinar se os itens do cache local foram alterados. Um intervalo de sondagem efetivo para notificações deve ser menor do que a configuração ttlValue para ser eficaz. Um elemento de adição, clientNotification, pode ser usado para configurar o intervalo de sondagem para notificações definindo o atributo pollInterval como o número de segundo. O padrão é 300 segundos.

Observação

As notificações são um recurso de Cache In-Role com suporte apenas em caches hospedados em funções do Azure.

Exemplos

O exemplo a seguir mostra uma seção dataCacheClient que usa o cache local com expiração local baseada em tempo limite de cinco minutos (300 segundos).

    <dataCacheClient name="default">
      <!-- Other configuration settings for cache -->
      <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
    </dataCacheClient>

O exemplo a seguir mostra a seção dataCacheClient anterior alterada para usar notificações para fornecer sincronização adicional sondando a cada um minuto (60 segundos). As notificações só têm suporte com o Cache de In-Role baseado em função.

    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="WebRole1" />
      <localCache isEnabled="true" sync="NotificationBased" objectCount="100000" ttlValue="300" />
      <clientNotification pollInterval="60" />
    </dataCacheClient>

Para baixar um exemplo que usa o cache local, consulte o Caching API e o Exemplo de Desempenho.

Consulte Também

Conceitos

Recursos de cache na função no cache do Azure