Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 13999|Răspunde: 0

[ASP.NET] ASP.NET Cache

[Copiază linkul]
Postat pe 17.06.2015 11:27:42 | | |
ASP.NET oferă capabilități de programare care practic stochează informații într-o aplicație ASP.NET. Funcționalitatea este similară cu obiectul Aplicație, dar are capacitatea de a menține dinamic informațiile în cache pe durata vieții aplicației ASP.NET. Stocarea în cache a datelor într-o aplicație poate îmbunătăți semnificativ performanța deoarece datele sunt locale pentru server și pot fi recuperate rapid. În loc să trebuiască să reinterogheze sursa originală de date. În special cel mai mare blocaj al sistemului actual este baza de date, iar utilizarea rațională a cache-ului poate reduce mult accesul inutil la baze de date, optimizând astfel performanța sistemului.

      Obiectele cache îmbunătățesc capacitatea de a implementa notificări de expirare și callback bazate pe relevanță, care permit acțiuni asupra elementelor stocate în cache de către alți utilizatori ai aplicației de management sau de către ASP.NET însuși. Folosește obiectul Cache pentru a stoca orice tip (tip de valoare sau tip de aplicație) înainte de a le actualiza sau șterge. Cache-ul este un obiect mai flexibil decât un obiect de aplicație. Suportă:

      1. Expirarea și ștergerea bazate pe relevanță - Obiectele cache oferă posibilitatea de a lega automat expirarea și ștergerea valorilor cache la un eveniment de fișier, o dată/oră specifică sau relativă sau la o altă cheie cache.

      2. Gestionarea automată a blocajelor - Obiectele cache includ gestionarea internă a blocărilor, care asigură sincronizarea actualizărilor atomice (actualizări care pot fi plasate într-o operație de calcul).

      3. Mecanism de callback - Obiectul cache oferă posibilitatea de a seta funcția de callback care să fie apelată atunci când se șterg elemente din cache.



      Metoda de adunare a cache-ului include Add() sau Insert(), iar metoda Insert poate folosi parametri opționali pentru a adăuga cache-ul folosind ambii parametri impliciti:

      Cache.Add(KeyName, KeyValue,Dependencies,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);

      Parametrii sunt: numele cache-ului, obiectul stocat în cache, dependența, timpul absolut de expirare, timpul relativ de expirare, prioritatea și evenimentele cauzate de expirarea cache-ului.



      Dependențe de cache: dependențele de fișiere, alte dependențe de cache, dependențe de baze de date și metode de expirare sunt setate, iar când dependențele se schimbă, cache-ul este invalid și poate genera anumite evenimente.

      1. Dependențe de fișiere: dependențe de cache pe fișiere 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>
Cod de copiere


      2. Alte dependențe ale elementelor 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>
Cod de copiere


         3. Setarea timpului de expirare:

         AbsoluteExpiration poate seta timpul absolut de expirare al cache-ului, de exemplu să expire după 30 de minute:


  1. Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Cod de copiere

          NoSlidingExpiration poate seta un timp relativ de expirare, dacă cache-ul nu este accesat în timpul stabilit de NoSlidingExpiration, dacă cache-ul expiră și nu este accesat pentru o anumită perioadă de timp, cache-ul nu va expira. Dacă accesați cache-ul în 30 de minute, acesta nu va expira:


  1. Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Cod de copiere






Precedent:Imposibil de accesat membrii "System.Web.Caching.Cache.NoAbsoluteExpiration" folosind referințe de instanță; ...
Următor:Un mesaj text sau QQ va face ca iPhone-ul prietenului tiranului local să se blocheze imediat, să se închidă și să se blocheze!
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com