Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 13999|Resposta: 0

[ASP.NET] ASP.NET Cache

[Copiar link]
Publicado em 17/06/2015 11:27:42 | | |
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:


  1. <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:

  1. <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:


  1. 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á:


  1. Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Copiar código






Anterior:Não é possível acessar o membro "System.Web.Caching.Cache.NoAbsoluteExpiration" usando referências de instância; ...
Próximo:Uma mensagem de texto ou QQ fará o iPhone do amigo do seu tirano local travar imediatamente, desligar e travar!
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com