ASP.NET poskytuje programovací schopnosti, které v podstatě ukládají informace do cache v ASP.NET aplikaci. Funkčnost je podobná objektu aplikace, ale má schopnost dynamicky uchovávat uložené informace v mezipaměti po celou dobu životnosti ASP.NET aplikace. Ukládání dat do mezipaměti v aplikaci může výrazně zlepšit výkon, protože data jsou lokální pro server a lze je rychle získat. Místo nutnosti znovu dotazovat původní zdroj dat. Zvláště největším úzkým místem současného systému je databáze a racionální využití cache může výrazně snížit zbytečný přístup k databázi, aby se optimalizoval výkon systému.
Objekty cache zlepšují schopnost implementovat oznámení o expiraci a zpětném volání na základě relevance, která umožňují akce na cache uložených položkách v cache ostatními uživateli aplikace správy nebo samotným ASP.NET. Použijte objekt Cache k uložení libovolného typu (typ hodnoty nebo typu aplikace) před jejich aktualizací nebo smazáním. Cache je flexibilnější objekt než objekt aplikace. Podporuje:
1. Expirace a mazání založená na relevanci – Objekty cache umožňují automaticky navázat vypršení a mazání hodnot cache na událost souboru, konkrétní nebo relativní datum/čas nebo jiný klíč cache.
2. Automatická správa zámků – Objekty cache zahrnují interní správu zámků, která zajišťuje synchronizaci atomických aktualizací (aktualizací, které lze vložit do výpočtové operace).
3. Mechanismus callbacku – Cache objekt umožňuje nastavit, aby byla callback funkce volána při mazání cache položek.
Metoda sčítání cache zahrnuje Add() nebo Insert() a metoda Insert může použít volitelné parametry k přidání cache s použitím obou výchozích parametrů:
Cache.Add(KeyName, KeyValue,Dependencies,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
Parametry jsou: název cache, cache objekt, závislost, absolutní doba expirace, relativní doba expirace, priorita a události způsobené expirací cache.
Závislosti cache: jsou nastaveny závislosti souborů, dalších závislostí cache, databázových závislostí a metod expirace, a když se závislosti změní, cache je neplatná a může vyvolat určité události.
1. Závislosti souborů: cache závislosti na xml souborech:
- <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írovat kód
2. Další závislosti na položkách 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írovat kód
3. Stanovení doby expirace:
AbsoluteExpiration může nastavit absolutní dobu expirace cache, například nastavit její expiraci po 30 minutách:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Kopírovat kód NoSlidingExpiration může nastavit relativní dobu expirace, pokud není cache přístupná v čase nastaveném NoSlidingExpiration, pokud cache vyprší a není přístupná po určitou dobu, cache nevyprší. Pokud se ke cache dostanete do 30 minut, nevyprší:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Kopírovat kód
|