ASP.NET oferece capacidades de programação que basicamente armazenam informações em uma aplicação ASP.NET. A funcionalidade é semelhante ao objeto Aplicação, mas tem a capacidade de manter dinamicamente informações em cache durante toda a vida útil de ASP.NET aplicação. Armazenar em cache os dados em uma aplicação pode melhorar muito o desempenho porque os dados são locais para o servidor e podem ser recuperados rapidamente. Em vez de ter que reconsultar a fonte original dos dados. Especialmente o maior gargalo do sistema atual é o banco de dados, e o uso racional do cache pode reduzir muito do acesso desnecessário ao banco de dados, otimizando o desempenho do sistema.
Objetos de cache melhoram a capacidade de implementar notificações de expiração e callback baseadas em relevância que permitem ações em itens em cache por outros usuários do aplicativo de gerenciamento ou pelo próprio ASP.NET. Use o objeto Cache para armazenar qualquer tipo (tipo de valor ou tipo de aplicação) antes de atualizá-los ou excluí-los. Cache é um objeto mais flexível do que um objeto de Aplicação. Ele suporta:
1. Expiração e exclusão baseadas em relevância - Objetos de cache oferecem a capacidade de vincular automaticamente a expiração e exclusão de valores de cache a um evento de arquivo, data/hora específica ou relativa, ou outra chave de cache.
2. Gerenciamento automático de bloqueio - Objetos de cache incluem gerenciamento interno de bloqueio, que fornece sincronização para atualizações atômicas (atualizações que podem ser feitas em uma operação de cálculo).
3. Mecanismo de retorno de chamada - O objeto de cache oferece a capacidade de definir a função de callback para ser chamada ao excluir itens de cache.
O método de adição de cache inclui Add() ou Insert(), e o método Insert pode usar parâmetros opcionais para adicionar o cache usando ambos os parâmetros padrão:
Cache.Add(NomeChave, ValorChave, Dependências,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
Os parâmetros são: nome do cache, objeto em cache, dependência, tempo absoluto de expiração, tempo relativo de expiração, prioridade e eventos causados pela expiração do cache.
Dependências de cache: dependências de arquivo, outras dependências de cache, dependências de banco de dados e métodos de tempo de expiração são definidos, e quando as dependências mudam, a cache fica inválida e pode gerar certos eventos.
1. Dependências de arquivos: dependências de cache em arquivos xml:
- <p>DataSet dsProducts = new DataSet();</p><p>//...dsProducts数y据Y</p><p>CacheDependency fileDepends = new CacheDependency(Server.MapPath("Northwind.xml"));</p><p>Cache.Insert("dsProducts", dsProducts, fileDepends);</p>
Copiar código
2. Outras dependências de itens de cache:
- <p>object cacheData;</p><p>string[] fileDependsArray = { Server.MapPath("Northwind.xml") };</p><p>string[] cacheDependsArray = { "Depend0", "Depend1", "Depend2" };</p><p>CacheDependency cacheDepends = new CacheDependency(fileDependsArray, cacheDependsArray);</p><p>Cache.Insert("cacheName", cacheData, cacheDepends);</p>
Copiar código
3. Configuração do tempo de expiração:
O AbsoluteExpiration pode definir o tempo absoluto de expiração do cache, como configurá-lo para expirar após 30 minutos:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Copiar código O NoSlidingExpiration pode definir um tempo de expiração relativo; se o cache não for acessado dentro do tempo definido pelo NoSlidingExpiration; se o cache expirar e não for acessado por um determinado período, ele não expirará. Se você acessar o cache em até 30 minutos, ele não expirará:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Copiar código
|