Cache de dados de aplicativo

O ASP.NET tem um mecanismo de cache poderoso e fácil para uso que permite que você armazene objetos na memória que exigem recursos abrangentes de servidor para criar.O cache desses tipos de recursos pode melhorar significativamente o desempenho do seu aplicativo.

O cache é implementado pela classe Cache, com instâncias cache particulares para cada aplicativo.O tempo de vida do cache é vinculado ao do aplicativo; quando o aplicativo for reiniciado, o objeto Cache é recriado.

A classe Cache foi projetada para facilitar o uso.Você pode colocar itens na caixa Cache e recuperá-los posteriormente usando pares chave/valor simples.Para obter exemplos de como fazer isso, consulte Como: Adicionar itens ao cache e Como: Recuperar valores de itens em cache.

A classe Cache oferece recursos poderosos que permitem que você personalize como os itens são armazenados em cache e quanto tempo eles são armazenados em cache.Por exemplo, quando a memória do sistema fica escassa, o cache automaticamente remove itens raramente usados ou de baixa prioridade para liberar memória.Essa técnica é mencionada como eliminação e é uma das maneiras que o cache garante que dados desatualizados não consumam recursos importantes do servidor.

Você pode instruir o objeto Cache para dar prioridade a determinados itens sobre outros itens quando ele executar a eliminação.Para indicar um item da importância, você pode especificar um dos valores de enumeração CacheItemPriority quando você adiciona um item usando os métodos Add ou Insert.

Você também pode estabelecer uma diretiva de expiração para um item quando você adicioná-lo cache usando os métodos Add ou Insert.Você pode definir a vida útil para um item especificando um tempo exato em que o item irá expirar (uma expiração absoluta) usando um valor DateTime.Como alternativa, você pode especificar uma expiração deslizante usando um valor TimeSpan, que permite que você especifique o tempo decorrido antes que expire o item com base na hora que ele foi acessado pela última vez.Depois que um item expira, ele é removido do cache.Tentativas de recuperar seu valor irão retornar null (Nothing no Visual Basic), a menos que o item seja adicionado ao cache novamente.

Para itens voláteis que são armazenados no cache, como aqueles que têm atualizações regulares de dados ou os que são válidas para apenas um determinado período de tempo, você normalmente define uma diretiva de expiração que mantém os itens no cache, desde que seus dados permaneçam atuais.Por exemplo, se você estiver escrevendo um aplicativo que controla as pontuações de esportes por obtendo os dados de outro Web site, você pode armazenar em cache os resultados para um jogo, desde que os resultados não sejam alteradas no site de origem.Nesse caso, você pode definir uma diretiva de expiração que baseia-se na frequência com que o outro site atualiza as pontuações.Você pode escrever um código que determina se uma pontuação atualizada está no cache.Se o resultado for não atualizado, o código pode ler a pontuação do Web site de origem e armazenar em cache o novo valor.

Finalmente, o ASP.NET permite que você defina a validade de um item em cache com base em um arquivo externo ou de diretório (uma dependência de arquivos) ou em outro item em cache (uma dependência de chave).Se o item com a dependência associado for alterado, o item em cache é invalidado e removido do cache.Você pode usar essa técnica para remover itens do cache quando suas fontes de dados se alteram.Por exemplo, se você escrever um aplicativo que processa dados financeiros de um arquivo XML, você pode inserir os dados do arquivo no cache e manter uma dependência no arquivo XML.Quando o arquivo é atualizado, o item é removido do cache, o aplicativo lê o arquivo XML novamente e coloca os dados atualizados no cache.

Observação:

O objeto Cache não possui informações sobre o conteúdo dos itens que ele contém.Ela simplesmente contém uma referência a esses objetos.Ele também fornece métodos para controlar suas dependências e definir diretivas de expiração.

Para obter mais informações sobre como usar esses recursos, consulte Como: Adicionar itens ao cache.

Consulte também

Tarefas

Como: Adicionar itens ao cache

Como: Recuperar valores de itens em cache

Como: Excluir itens do cache no ASP.NET

Como: Notificar an aplicativo When an Item Is Removed from the cache

Conceitos

Visão geral do cache no ASP.NET

Outros recursos

O que há de novo no cache do ASP.NET