ASP.NET bietet Programmierfunktionen, die im Wesentlichen Informationen in einer ASP.NET Anwendung cachen. Die Funktionalität ähnelt dem Anwendungsobjekt, besitzt jedoch die Fähigkeit, zwischengespeicherte Informationen über die Lebensdauer ASP.NET Anwendung dynamisch zu verwalten. Das Caching von Daten in einer Anwendung kann die Leistung erheblich verbessern, da die Daten lokal auf dem Server sind und schnell abgerufen werden können. Anstatt die ursprüngliche Datenquelle erneut abfragen zu müssen. Insbesondere der größte Engpass des aktuellen Systems ist die Datenbank, und der rationale Einsatz von Cache kann viele unnötige Datenbankzugriffe reduzieren, um die Systemleistung zu optimieren.
Cache-Objekte verbessern die Möglichkeit, relevanzbasierte Ablauf- und Rückrufbenachrichtigungen zu implementieren, die Aktionen auf zwischengespeicherte Objekte im Cache durch andere Nutzer der Verwaltungsanwendung oder durch die ASP.NET selbst ermöglichen. Verwenden Sie das Cache-Objekt, um jeden beliebigen Typ (Wert- oder Anwendungstyp) zu speichern, bevor Sie sie aktualisieren oder löschen. Cache ist ein flexibleres Objekt als ein Anwendungsobjekt. Es unterstützt:
1. Relevanzbasierte Ablauf- und Löschung – Cache-Objekte ermöglichen es, automatische Ablauf- und Löschfunktionen von Cache-Werten an ein Dateiereignis, ein bestimmtes oder relatives Datum/Uhrzeit oder einen anderen Cache-Schlüssel zu binden.
2. Automatische Schlossverwaltung – Cache-Objekte umfassen eine interne Sperrverwaltung, die Synchronisation für atomare Updates (Aktualisierungen, die in eine Berechnungsoperation eingefügt werden können) ermöglicht.
3. Callback-Mechanismus – Das Cache-Objekt ermöglicht es, die Callback-Funktion beim Löschen von Cache-Elementen aufzurufen.
Die Cache-Addition-Methode umfasst Add() oder Insert(), und die Insert-Methode kann optionale Parameter verwenden, um den Cache mit beiden Standardparametern hinzuzufügen:
Cache.Add(KeyName, KeyValue,Dependencies,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
Die Parameter sind: Cache-Name, zwischengespeichertes Objekt, Abhängigkeit, absolute Ablaufzeit, relative Ablaufzeit, Priorität und durch Cache-Ablauf verursachte Ereignisse.
Cache-Abhängigkeiten: Dateiabhängigkeiten, andere Cache-Abhängigkeiten, Datenbankabhängigkeiten und Ablaufzeitmethoden werden festgelegt, und wenn sich die Abhängigkeiten ändern, ist der Cache ungültig und kann bestimmte Ereignisse auslösen.
1. Dateiabhängigkeiten: Cache-Abhängigkeiten bei XML-Dateien:
- <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>
Code kopieren
2. Weitere Abhängigkeiten von Cache-Elementen:
- <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>
Code kopieren
3. Ablaufzeit:
AbsoluteExpiration kann die absolute Ablaufzeit des Caches festlegen, zum Beispiel indem er nach 30 Minuten abläuft:
- Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
Code kopieren NoSlidingExpiration kann eine relative Verfallszeit festlegen: Wenn der Cache nicht innerhalb der von NoSlidingExpiration festgelegten Zeit abgerufen wird; wenn der Cache abläuft und für eine bestimmte Zeit nicht abgerufen wird, läuft der Cache nicht ab. Wenn du innerhalb von 30 Minuten auf den Cache zugreifst, läuft er nicht ab:
- Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));
Code kopieren
|