Cache local 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?

O cache local é um recurso do cache Microsoft Azure que melhora o desempenho reduzindo as solicitações de rede para o serviço de cache. O cache armazena objetos em forma serializada em um cache distribuído na memória. Quando um aplicativo solicita um objeto do cache, o objeto serializado é enviado para o aplicativo solicitante através da 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 serviço de cache. Se o objeto não existe, ele é recuperado do serviço de cache. 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 para Serviço de Cache Gerenciado 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, as notificações devem primeiro ser habilitadas para o cache seguindo as etapas em Habilitar Notificações de 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 estão disponíveis nas ofertas de cache Standard e Premium, mas não na oferta de cache Basic. Para obter mais informações, consulte Ofertas de Cache para Serviço de Cache Gerenciado 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 omitted -->
  <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).

<dataCacheClient name="default">
  <!-- Other configuration settings for cache omitted -->
  <localCache isEnabled="true" sync="NotificationBased" objectCount="100000" ttlValue="300" />
  <clientNotification pollInterval="60" />
</dataCacheClient>

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

Consulte Também

Outros recursos

Recursos do serviço de cache gerenciado do Azure