ASP.NET omogoča programske zmogljivosti, ki v bistvu predpomnijo informacije v ASP.NET aplikaciji. Funkcionalnost je podobna objektu aplikacije, vendar ima sposobnost dinamičnega vzdrževanja predpomnjenih informacij skozi celotno življenjsko dobo ASP.NET aplikacije. Predpomnjenje podatkov v aplikaciji lahko močno izboljša zmogljivost, saj so podatki lokalni strežniku in jih je mogoče hitro pridobiti. Namesto da bi morali ponovno poizvedovati izvorni vir podatkov. Še posebej največje ozko grlo trenutnega sistema je podatkovna baza, racionalna uporaba predpomnilnika pa lahko zmanjša veliko nepotrebnega dostopa do podatkov, da se optimizira zmogljivost sistema.
Predpomnilniški objekti izboljšajo možnost implementacije obvestil o poteku in povratnem klicu na podlagi relevantnosti, ki omogočajo dejanja na predpomnjenih elementih v predpomnilniku drugim uporabnikom upravljalske aplikacije ali samemu ASP.NET. Uporabite objekt Predpomnilnik za shranjevanje kateregakoli tipa (vrednost, tip ali tip aplikacije), preden jih posodobite ali izbrišete. Predpomnilnik je bolj prilagodljiv objekt kot aplikacijski objekt. Podpira:
1. Potek in brisanje na podlagi relevantnosti – Predpomnilniški objekti omogočajo samodejno vezavo poteka in brisanja vrednosti predpomnilnika na datotečni dogodek, določen ali relativni datum/čas ali drug ključ predpomnilnika.
2. Samodejno upravljanje ključavnic - Predpomnilniški objekti vključujejo notranje upravljanje ključavnic, ki omogoča sinhronizacijo za atomske posodobitve (posodobitve, ki jih je mogoče vključiti v izračunsko operacijo).
3. Mehanizem povratnega klica - Objekt predpomnilnika omogoča nastavitev funkcije klica ob brisanju elementov predpomnilnika.
Metoda dodajanja predpomnilnika vključuje Add() ali Insert(), metoda Insert pa lahko uporablja opcijske parametre za dodajanje predpomnilnika z obema privzetima parametroma:
Cache.Add(KeyName, KeyValue,Dependencies,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
Parametri so: ime predpomnilnika, predpomnjeni objekt, odvisnost, absolutni čas poteka, relativni čas poteka, prednost in dogodki, ki jih povzroči potek predpomnilnika.
Odvisnosti predpomnilnika: odvisnosti datotek, drugih odvisnosti predpomnilnika, odvisnosti baz podatkov in metode poteka so nastavljene, in ko se odvisnosti spremenijo, je predpomnilnik neveljaven in lahko sproži določene dogodke.
1. Odvisnosti datotek: odvisnosti predpomnilnika na xml datotekah:
- <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>
Kopiraj kodo
2. Druge odvisnosti predmetov predpomnilnika:
- <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>
Kopiraj kodo
3. Določitev časa trajanja:
AbsoluteExpiration lahko nastavi absolutni čas poteka predpomnilnika, na primer tako, da ga nastaviš po 30 minutah:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Kopiraj kodo NoSlidingExpiration lahko nastavi relativni čas poteka; če predpomnilnik ni dostopan v času, ki ga določa NoSlidingExpiration, če predpomnilnik poteče in ni dostopan določen čas, predpomnilnik ne poteče. Če dostopate do predpomnilnika v 30 minutah, ne bo potekel:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Kopiraj kodo
|