Zwischenspeichern von Anwendungsdaten
ASP.NET bietet einen leistungsfähigen, benutzerfreundlichen Cachingmechanismus, mit dessen Hilfe Objekte, deren Erstellung umfangreiche Serverressourcen erfordert, im Arbeitsspeicher gespeichert werden können. Das Zwischenspeichern dieser Ressourcentypen kann die Leistung der Anwendung wesentlich verbessern.
Die Funktionalität der Zwischenspeicherung wird von der Cache-Klasse implementiert, und zwar mit Cacheinstanzen, die für jede Anwendung privat sind. Die Cachelebensdauer ist an die Lebensdauer der Anwendung gebunden; bei einem Neustart der Anwendung wird das Cache-Objekt neu erstellt.
Bei der Entwicklung der Cache-Klasse wurde besonderer Wert auf Benutzerfreundlichkeit gelegt. Sie können Elemente im Cache speichern und diese später mithilfe von einfachen Schlüssel-Wert-Paaren abrufen. Beispiele dafür finden Sie unter Gewusst wie: Hinzufügen von Elementen zum Cache und Gewusst wie: Abrufen von Werten von zwischengespeicherten Elementen.
Mit den leistungsfähigen Features der Cache-Klasse können Sie Art und Dauer der Zwischenspeicherung von Elementen anpassen. Wenn beispielsweise der Systemspeicher knapp wird, werden zum Freigeben von Speicher selten verwendete Elemente oder Elemente mit niedriger Priorität automatisch entfernt. Diese Technik wird als Aufräumvorgang bezeichnet und stellt eine Möglichkeit dar, zu verhindern, dass veraltete Daten wertvolle Serverressourcen verwenden.
Sie können das Cache-Objekt anweisen, beim Aufräumen bestimmten Elementen eine höhere Priorität als anderen Elementen zu geben. Wenn Sie zum Hinzufügen eines Elements die Add-Methode oder die Insert-Methode verwenden, können Sie einen der CacheItemPriority-Enumerationswerte festlegen, um die Wichtigkeit eines Elements anzugeben.
Wenn Sie dem Cache das Element mithilfe der Add-Methode oder der Insert-Methode hinzufügen, können Sie für ein Element auch eine Ablaufrichtlinie festlegen. Sie können die Lebensdauer eines Elements definieren, indem Sie mithilfe eines DateTime-Werts den genauen Zeitpunkt angeben, wann das Element ablaufen wird (eine absolute Ablaufzeit). Alternativ können Sie mithilfe eines TimeSpan-Werts auch eine gleitende Ablaufzeit angeben. Dabei legen Sie fest, wie viel Zeit nach dem letzten Aufruf eines Elements vergehen soll, bis das Element abläuft. Sobald die Ablaufzeit eines Elements erreicht ist, wird es aus dem Cache entfernt. Beim Versuch, den Elementwert abzurufen, wird null (bzw. Nothing in Visual Basic) zurückgegeben, bis das Element dem Cache erneut hinzugefügt wird.
Für flüchtige im Cache gespeicherte Elemente, deren Daten z. B. regelmäßig aktualisiert werden bzw. die nur für eine bestimmte Zeitdauer gültig sind, richten Sie in der Regel eine Ablaufrichtlinie ein, durch die diese Elemente so lange im Cache gehalten werden, wie ihre Daten aktuell sind. Wenn Sie beispielsweise eine Anwendung programmieren, die zum Nachverfolgen von Sportergebnissen Daten von einer anderen Website abruft, können Sie die Spielergebnisse zwischenspeichern, solange diese Ergebnisse auf der Quellwebsite nicht geändert werden. In diesem Fall legen Sie eine Ablaufrichtlinie fest, die auf der Häufigkeit basiert, mit der die Ergebnisse von der anderen Website aktualisiert werden. Mithilfe des entsprechenden Codes kann bestimmt werden, ob der Cache ein aktuelles Spielergebnis enthält. Entspricht das Ergebnis nicht dem neuesten Stand, kann das Ergebnis von der Quellwebsite gelesen und der neue Wert im Cache zwischengespeichert werden.
Schließlich bietet ASP.NET die Möglichkeit, die Gültigkeit eines zwischengespeicherten Elements auf der Basis einer externen Datei, eines Verzeichnisses (einer Dateiabhängigkeit) oder eines anderen zwischengespeicherten Elements (einer Schlüsselabhängigkeit) zu definieren. Wenn sich das Element mit der zugeordneten Abhängigkeit ändert, wird das zwischengespeicherte Element für ungültig erklärt und aus dem Cache entfernt. Mithilfe dieser Technik können Sie Elemente aus dem Cache entfernen, wenn sich deren Datenquelle ändert. Wenn Sie z. B. eine Anwendung programmieren, die Finanzdaten aus einer XML-Datei verarbeitet, können Sie die Daten aus der Datei in den Cache einfügen und eine Abhängigkeit von dieser XML-Datei beibehalten. Beim Aktualisieren der Datei wird das Element aus dem Cache entfernt, die XML-Datei wird neu gelesen, und die aktualisierten Daten werden im Cache gespeichert.
Hinweis
Das Cache-Objekt enthält keine Informationen über den Inhalt der in ihm enthaltenen Elemente. Er enthält nur einen Verweis auf diese Objekte. Außerdem bietet der Cache Methoden zum Nachverfolgen von Abhängigkeiten und zum Festlegen von Ablaufrichtlinien.
Weitere Informationen zum Verwenden dieser Features finden Sie unter Gewusst wie: Hinzufügen von Elementen zum Cache.
Siehe auch
Aufgaben
Gewusst wie: Hinzufügen von Elementen zum Cache
Gewusst wie: Abrufen von Werten von zwischengespeicherten Elementen
Gewusst wie: Löschen von Elementen aus dem Cache in ASP.NET
Gewusst wie: Benachrichtigen einer Anwendung beim Entfernen eines Elements aus dem Cache
Konzepte
Übersicht über das Zwischenspeichern in ASP.NET
Neues bei der ASP.NET-Zwischenspeicherung