ASP.NET tilbyder programmeringsmuligheder, der i bund og grund cacher information i en ASP.NET applikation. Funktionaliteten ligner applikationsobjektet, men det har evnen til dynamisk at vedligeholde cachet information gennem ASP.NET applikations levetid. Caching af data i en applikation kan forbedre ydeevnen betydeligt, fordi dataene er lokale på serveren og hurtigt kan hentes. I stedet for at skulle forespørge den oprindelige datakilde igen. Især den største flaskehals i det nuværende system er databasen, og rationel brug af cache kan reducere meget unødvendig databaseadgang for at optimere systemets ydeevne.
Cache-objekter forbedrer evnen til at implementere relevansbaserede udløbs- og callback-notifikationer, der tillader handlinger på cachede elementer i cachen af andre brugere af administrationsapplikationen eller af ASP.NET selv. Brug Cache-objektet til at gemme enhver type (værditype eller applikationstype), før du opdaterer eller sletter dem. Cache er et mere fleksibelt objekt end et applikationsobjekt. Den understøtter:
1. Relevansbaseret udløb og sletning - Cache-objekter giver mulighed for at binde automatisk udløb og sletning af cacheværdier til en filbegivenhed, en specifik eller relativ dato/tidspunkt eller en anden cache-nøgle.
2. Automatisk låsehåndtering - Cache-objekter inkluderer intern låsehåndtering, som sikrer synkronisering af atomare opdateringer (opdateringer, der kan placeres i en beregningsoperation).
3. Callback-mekanisme - Cache-objektet giver mulighed for at indstille callback-funktionen til at blive kaldt, når cache-elementer slettes.
Cache-tilføjelsesmetoden inkluderer Add() eller Insert(), og Insert() metoden kan bruge valgfrie parametre til at tilføje cachen ved hjælp af begge standardparametre:
Cache.Add(KeyName, KeyValue,Dependencies,AbsoluteExperiation,SlidingExpiration,Priority,CacheItemRemoveCallback);
Parametrene er: cachenavn, cachet objekt, afhængighed, absolut udløbstid, relativ udløbstid, prioritet og begivenheder forårsaget af cacheudløb.
Cache-afhængigheder: filafhængigheder, andre cache-afhængigheder, databaseafhængigheder og udløbstidsmetoder sættes, og når afhængighederne ændres, er cachen ugyldig og kan forårsage visse hændelser.
1. Filafhængigheder: cache-afhængigheder 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>
Kopier kode
2. Andre cache-item-afhængigheder:
- <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>
Kopier kode
3. Udløbstidsindstilling:
AbsoluteExpiration kan sætte cachens absolutte udløbstid, for eksempel ved at sætte den til at udløbe efter 30 minutter:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Kopier kode NoSlidingExpiration kan sætte en relativ udløbstid; hvis cachen ikke tilgås inden for den tid, der er fastsat af NoSlidingExpiration, hvis cachen udløber og ikke tilgås i en bestemt periode, udløber cachen ikke. Hvis du får adgang til cachen inden for 30 minutter, udløber den ikke:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Kopier kode
|