ASP.NET poskytuje programátorské schopnosti, ktoré v podstate ukladajú informácie do vyrovnávacej pamäte v ASP.NET aplikácii. Funkcionalita je podobná objektu Application, ale má schopnosť dynamicky udržiavať uložené informácie počas celej životnosti ASP.NET aplikácie. Ukladanie dát do vyrovnávacej pamäte v aplikácii môže výrazne zlepšiť výkon, pretože dáta sú lokálne pre server a dajú sa rýchlo získať. Namiesto toho, aby ste museli znovu vyhľadávať pôvodný zdroj dát. Najmä najväčším úzkym miestom súčasného systému je databáza a racionálne využívanie cache môže výrazne znížiť zbytočný prístup k databáze, aby sa optimalizoval výkon systému.
Objekty v cache zlepšujú schopnosť implementovať notifikácie o expirácii a spätnom volaní založené na relevantnosti, ktoré umožňujú akcie na uložených položkách v cache od iných používateľov správcovskej aplikácie alebo samotného ASP.NET. Použite objekt Cache na uloženie akéhokoľvek typu (typ hodnoty alebo typ aplikácie) pred ich aktualizáciou alebo vymazaním. Cache je flexibilnejší objekt než aplikačný objekt. Podporuje:
1. Vypršanie a vymazanie založené na relevantnosti – Objekty cache poskytujú možnosť naviazať automatické vypršanie a vymazanie hodnôt cache na udalosť súboru, konkrétny alebo relatívny dátum/čas alebo iný kľúč cache.
2. Automatická správa zámkov – Objekty cache obsahujú internú správu zámkov, ktorá poskytuje synchronizáciu atómových aktualizácií (aktualizácií, ktoré je možné vložiť do výpočtovej operácie).
3. Mechanizmus spätného volania – Objekt cache umožňuje nastaviť volanie funkcie spätného volania pri mazaní položiek cache.
Metóda pridávania cache zahŕňa Add() alebo Insert() a metóda Insert môže použiť voliteľné parametre na pridanie cache s použitím oboch predvolených parametrov:
Cache.Add(KeyName, KeyValue,Dependencies,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
Parametre sú: názov cache, cache objekt, závislosť, absolútny čas expirácie, relatívny čas expirácie, priorita a udalosti spôsobené expiráciou cache.
Závislosti cache: sú nastavené závislosti súborov, iných cache závislostí, databázových závislostí a metód expirácie, a keď sa závislosti zmenia, cache je neplatná a môže vyvolať určité udalosti.
1. Závislosti súborov: cache závislosti na xml súboroch:
- <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>
Kopírovať kód
2. Ostatné závislosti položiek 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>
Kopírovať kód
3. Nastavenie doby vypršania:
AbsoluteExpiration môže nastaviť absolútny čas expirácie cache, napríklad nastaviť jej vypršanie po 30 minútach:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Kopírovať kód NoSlidingExpiration môže nastaviť relatívny čas vypršania, ak nie je cache prístupná v čase stanovenom NoSlidingExpiration, ak cache vyprší a nebude prístupná určitý čas, cache nevyprší. Ak sa k cache dostanete do 30 minút, nevyprší:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Kopírovať kód
|