ASP.NET tillhandahåller programmeringsmöjligheter som i princip cachar information i en ASP.NET applikation. Funktionen liknar applikationsobjektet, men har förmågan att dynamiskt lagra cacvad information under ASP.NET applikations livslängd. Caching av data i en applikation kan avsevärt förbättra prestandan eftersom datan är lokal för servern och kan hämtas snabbt. Istället för att behöva fråga om den ursprungliga datakällan. Särskilt den största flaskhalsen i det nuvarande systemet är databasen, och rationell användning av cache kan minska mycket onödig databasåtkomst för att optimera systemets prestanda.
Cacheobjekt förbättrar möjligheten att implementera relevansbaserade utgångs- och callback-notifikationer som tillåter åtgärder på cachade objekt i cachen av andra användare av hanteringsapplikationen eller av själva ASP.NET. Använd cacheobjektet för att lagra vilken typ som helst (värdetyp eller applikationstyp) innan du uppdaterar eller tar bort dem. Cache är ett mer flexibelt objekt än ett applikationsobjekt. Den stödjer:
1. Relevansbaserad utgångs- och borttagningstid – Cacheobjekt ger möjlighet att binda automatisk utgång och radering av cachevärden till en filhändelse, ett specifikt eller relativt datum/tid eller en annan cachenyckel.
2. Automatisk låshantering – Cacheobjekt inkluderar intern låshantering, som ger synkronisering för atomära uppdateringar (uppdateringar som kan placeras i en beräkningsoperation).
3. Callback-mekanism – Cache-objektet ger möjlighet att ställa in callback-funktionen som anropas när cache-objekt tas bort.
Cacheadditionsmetoden inkluderar Add() eller Insert(), och Insert-metoden kan använda valfria parametrar för att lägga till cachen med båda standardparametrarna:
Cache.Add(KeyName, KeyValue,Beroenden,AbsoluteExiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
Parametrarna är: cachenamn, cachade objekt, beroende, absolut utgångstid, relativ utgångstid, prioritet och händelser orsakade av cacheutgång.
Cacheberoenden: filberoenden, andra cacheberoenden, databasberoenden och utgångstidsmetoder sätts, och när beroendena ändras är cachen ogiltig och kan leda till vissa händelser.
1. Filberoenden: cacheberoenden på xml-filer:
- <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>
Kopiera koden
2. Andra cache-beroenden:
- <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>
Kopiera koden
3. Utgångstidsinställning:
AbsoluteExpiration kan ställa in cachens absoluta utgångstid, till exempel att den ska gå ut efter 30 minuter:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Kopiera koden NoSlidingExpiration kan sätta en relativ utgångstid, om cachen inte nås inom den tid som NoSlidingExpiration angår, om cachen går ut och inte nås under en viss tid, kommer cachen inte att gå ut. Om du får tillgång till cachen inom 30 minuter kommer den inte att gå ut:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Kopiera koden
|