ASP.NET olyan programozási lehetőségeket kínál, amelyek lényegében gyorsítótárt tárolnak az információkra egy ASP.NET alkalmazásban. A funkcionalitás hasonló az Alkalmazás objektumhoz, de képes dinamikusan fenntartani a gyorsítótározott információkat az alkalmazás élettartama ASP.NET alatt. Az adatok gyorsítótárázása egy alkalmazásban jelentősen javíthatja a teljesítményt, mivel az adatok helyiek a szerverhez képest, és gyorsan lekérhetők. Ahelyett, hogy újra kellene lekérdezni az eredeti adatforrást. Különösen a jelenlegi rendszer legnagyobb szűk keresztmetszete az adatbázis, és a gyorsítótár ésszerű használata csökkentheti a szükséges adatbázis-hozzáférést, így optimalizálva a rendszer teljesítményét.
A cache objektumok javítják a relevanciától alapuló lejárati és visszahívási értesítések megvalósításának képességét, amelyek lehetővé teszik a gyorsgyorsaságban tárolt elemeken a menedzsment alkalmazás más felhasználói vagy maga ASP.NET által végrehajtott műveleteket. Használd a Cache objektumot bármilyen típus (érték vagy alkalmazástípus) tárolására, mielőtt frissítenéd vagy törölné őket. A cache rugalmasabb objektum, mint az alkalmazásobjektum. Támogatja:
1. Relevanciától alapuló lejárat és törlés – A cache objektumok lehetővé teszik, hogy a gyorsítótár értékek automatikus lejárását és törlését egy fájleseményhez, egy adott vagy relatív dátumhoz/időponthoz vagy más gyorsítótárkulcshoz kötsék.
2. Automatikus zárkezelés – A cache objektumok belső zárkezelést tartalmaznak, amely szinkronizálást biztosít atomikus frissítésekhez (frissítésekhez, amelyeket számítási művelet során lehet behelyezni).
3. Visszahívási mechanizmus – A cache objektum lehetővé teszi, hogy a callback függvényt beállítsák, hogy a cache elemek törlésekor hívják meg.
A Cache hozzáadási módszer tartalmazza az Add() vagy az Insert() funkciókat, és az Insert metódus opcionális paraméterekkel is hozzáadhatja a gyorsítótárt mindkét alapértelmezett paraméter segítségével:
Cache.Add(KeyName, KeyValue,Dependencies,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
A paraméterek: cache név, gyorsítótározott objektum, függőség, abszolút lejárati idő, relatív lejárati idő, prioritás és a cache lejárata által okozott események.
Cache függőségek: fájlfüggőségek, egyéb gyorsítótár-függőségek, adatbázis-függőségek és lejárati idős módszerek beállítottak, és amikor a függőségek változnak, a cache érvénytelen, és bizonyos eseményeket generálhat.
1. Fájlfüggőségek: gyorsítótár-függőségek xml fájlokon:
- <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>
Kód másolása
2. Egyéb cache item függőségek:
- <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>
Kód másolása
3. Lejárati idő beállítása:
Az AbsoluteExpiration beállíthatja a gyorsítótár abszolút lejárati idejét, például 30 perc után lejárni:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Kód másolása A NoSlidingExpiration relatív lejárati időt állíthat be, ha a gyorstár nem érhető el a NoSlidingExpiration által meghatározott időn belül, ha a gyorstár lejár és egy bizonyos ideig nem fér hozzá, akkor a gyorsítótár nem jár le. Ha 30 percen belül hozzáférsz a gyorsítótárhoz, az nem jár le:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Kód másolása
|