VENDAS: 1-800-867-1389

Expiração e remoção do Serviço de Cache Gerenciado do Azure

Atualizado: julho de 2010

O Cache do Microsoft Azure não mantém objetos em cache permanentemente na memória. Além de serem excluídos explicitamente do cache com o método Remove, os objetos armazenados em cache também podem expirar ou ser removidos do cache.

A expiração do cache permite que o cache remova automaticamente objetos armazenados do cache. Ao usar os métodos Put ou Add, um valor opcional de tempo limite do objeto pode ser definido para o objeto específico armazenado em cache. Esse valor determinará quanto tempo ele ficará no cache. Se o valor de tempo limite do objeto não for fornecido no momento em que o objeto for armazenado em cache, o objeto em cache usa o tempo de expiração padrão. O tempo padrão no Serviço de cache gerenciado é de 10 minutos.

A Política de Expiração funciona em conjunto com a configuração Tempo (min.) para determinar quando os itens em cache expirarão e esses comportamentos são configurados no nível do cache nomeado no Portal de Gerenciamento, na guia Configurar do cache.

Há três tipos de política de expiração: Absoluta, Deslizante e Nunca.

 

Política de Expiração Descrição

Nunca

A expiração é desabilitada. Os itens permanecem no cache até serem removidos. Quando a opção Nunca é especificada, Tempo (min.) deve ser definido como 0.

Absoluto

O intervalo de expiração especificado por Tempo (min.) começa quando um item é adicionado ao cache. Após o término do intervalo especificado por Tempo (min.), o item expira.

Ajustável

O intervalo de expiração especificado por Tempo (min.) é redefinido sempre que um item é acessado no cache. O item só expira após o término do intervalo especificado por Tempo (min.), depois que o item é acessado pela última vez. Isso mantém os itens usados frequentemente em cache por mais tempo.

Absoluta é a política de expiração padrão e a configuração padrão de Tempo (min.) é de 10 minutos. A política de expiração é fixa para cada item em um cache nomeado, mas Tempo (min.) pode ser personalizado para cada item com as sobrecargas Add e Put que recebem um parâmetro timeout.

noteObservação
É importante observar o comportamento da expiração Ajustável quando usada em combinação com o cache local. Quando um item é lido no cache local, o objeto no cache não é acessado. Logo, é possível que o item expire no servidor mesmo que esteja sendo lido localmente.

Quando os objetos armazenados em cache forem bloqueados para fins de simultaneidade, eles não serão removidos do cache mesmo se passarem de sua expiração. Assim que forem desbloqueados, eles serão imediatamente removidos do cache se o período de expiração tiver sido ultrapassado.

Para evitar a remoção instantânea no momento do desbloqueio de objetos expirados, o método Unlock também dá suporte à extensão da expiração do objeto em cache.

Você pode consultar a integridade e o desempenho do seu cache na guia Monitorar do cache no Portal de Gerenciamento, incluindo métricas de remoção e expiração. Para obter mais informações, consulte Monitoring the cache service using the Monitor tab.

Há dois tipos complementares de invalidação para o cache local: Invalidação com base no tempo limite e invalidação com base em notificações.

TipDica
Depois que os objetos são armazenados no cache local, seu aplicativo poderá usar esses objetos até que sejam invalidados, independentemente de serem atualizados por outro cliente. Por esse motivo, é recomendado que você habilite o cache local para dados que não são alterados frequentemente.

Depois que os objetos são baixados para o cache local, eles ficam lá até que atinjam o valor de tempo limite especificado nas definições de configuração do cliente de cache. Depois que atingem esse valor de tempo limite, os objetos serão invalidados para que possam ser atualizados no cache na próxima vez que forem solicitados.

Se seu cliente de cache possui um cache local habilitado, também é possível usar notificações de cache para invalidar automaticamente seus objetos armazenados em cache localmente. Ao encurtar a vida útil desses objetos conforme necessário, será possível reduzir a possibilidade de seu aplicativo usar dados obsoletos.

noteObservação
As notificações estão disponíveis nas ofertas de cache Standard e Premium, porém estão indisponíveis na Basic. Para obter mais informações, consulte Ofertas de cache do Serviço de Cache Gerenciado do Azure.

Quando você usa notificações de cache, o seu aplicativo verifica o cache em um intervalo regular para ver se há alguma notificação nova disponível. Esse intervalo, chamado de intervalo de sondagem, é de 300 segundos por padrão. O intervalo de sondagem é especificado em unidades de segundos nas definições de configuração do aplicativo. Observe que, mesmo com a invalidação com base em notificações, os tempos limite ainda se aplicam a itens no cache local. Isso torna a invalidação com base em notificações complementar à invalidação com base no tempo limite.

Para obter mais informações e exemplos, consulte Cache local do Serviço de Cache Gerenciado do Azure.

Para manter a capacidade de memória disponível para cache, há suporte à remoção LRU (menos utilizado recentemente). Quando o consumo de memória se aproxima do tamanho da oferta de cache, os objetos são removidos da memória, independentemente de terem expirado ou não, até que a pressão da memória seja aliviada.

WarningAviso
Você corre risco de limitação, caso desabilite a remoção. Nestas condições, a memória ultrapassa o limite, mas não há possibilidade de aliviar a falta de memória. Os clientes que tentem adicionar itens ao cache nesse estado recebem uma exceção até que isso seja resolvido.

Você pode consultar a integridade e o desempenho do seu cache na guia Monitorar do cache no Portal de Gerenciamento, incluindo métricas de remoção e expiração. Para obter mais informações, consulte Monitoring the cache service using the Monitor tab.

Há duas configurações de remoção: Habilitada e Desabilitada. A remoção é configurada no nível do cache nomeado no Portal de Gerenciamento, na guia Configurar do cache, e a configuração padrão é Habilitada.

Os seguintes métodos permitem que você substitua as definições padrão que estão no cache:

  • Os métodos Add e Put oferecem sobrecargas que permitem que você especifique um valor de tempo limite de expiração apenas para o objeto que você está adicionando ao cache.

  • Os métodos PutAndUnlock e Unlock oferecem sobrecargas que permitem que você estenda a expiração de um objeto depois de desbloqueá-lo.

  • O método ResetObjectTimeout permite que você estenda explicitamente a vida útil de um objeto, substituindo as definições de expiração do cache.

noteObservação
Independentemente das configurações de expiração ou remoção, os dados do cache não são preservados após desligamentos ou falhas inesperadas do serviço de cache. O código do seu aplicativo deverá carregar o cache de uma fonte de dados se os dados não forem encontrados no cache. Isso geralmente é chamado de padrão de programação do cache.

Consulte também

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
Mostrar:
© 2014 Microsoft