Freigeben über


Cacheclients und lokaler Cache (Windows Server AppFabric-Cache)

Wenn die Cachefeatures von Windows Server AppFabric genutzt werden, verwendet Ihre Anwendung das DataCache-Objekt zum Speichern von Daten im Cache. Dieses Objekt wird als Cacheclient bezeichnet. Wenn Sie einen Cacheclient erstellen möchten, der den Standardcache verwendet, verwenden Sie die Methode GetDefaultCache. Wenn Sie einen Cacheclient erstellen möchten, der einen benannten Cache verwendet, verwenden Sie die Methode GetCache.

Hinweis

Aus Leistungsgründen wird empfohlen, die Anzahl der DataCacheFactory-Objekte, die durch eine cacheaktivierte Anwendung erstellt werden, möglichst gering zu halten. Speichern Sie das DataCacheFactory-Objekt in einer Variablen, die für alle Teile der Anwendung, die einen Cacheclient verwenden, zugänglich ist.

Überlegungen zur Sicherheit

Es wird dringend empfohlen, die zum Angeben des Cacheclients verwendeten XML-basierten Anwendungskonfigurationsdateien zu sichern. Die Computernamen von Cachehosts werden in dieser Datei angegeben. Damit ein anderer Client tatsächlich auf den Cachecluster zugreifen kann, benötigt er jedoch Zugriffsberechtigungen für den Cachecluster.

Lokaler Cache

Der Server speichert Objekte in serialisierter Form im Cache. Wenn ein Cacheclient ein Objekt aus dem Cache anfordert, sendet der Server dieses über das Netzwerk an den Client. Der Cacheclient deserialisiert das Objekt dann für die Verwendung durch die Clientanwendung. Aktivieren Sie den lokalen Cache, um den Vorgang des Abrufens eines Objekts zu beschleunigen. Weitere Informationen zum Aktivieren des lokalen Caches finden Sie unter Aktivieren des lokalen Caches in Windows Server AppFabric oder Aktivieren des lokalen Caches in Windows Server AppFabric (XML).

Wenn der lokale Cache aktiviert ist, speichert der Cacheclient lokal einen Verweis auf das Objekt. Auf diese Weise bleibt das Objekt im Arbeitsspeicher der Clientanwendung aktiv. Wenn die Anwendung das Objekt anfordert, überprüft der Cacheclient zuerst, ob das Objekt im lokalen Cache gespeichert ist. Ist dies der Fall, wird der Verweis auf das Objekt sofort zurückgegeben, ohne eine Verbindung mit dem Server herzustellen. Ist das Objekt nicht vorhanden, wird es vom Server abgerufen. Der Cacheclient deserialisiert das Objekt dann und speichert den Verweis auf dieses neu abgerufene Objekt im lokalen Cache. Die Clientanwendung verwendet das gleiche Objekt.

Die Lebensdauer eines Objekts im lokalen Cache ist von mehreren Faktoren abhängig, z. B. von der maximalen Anzahl von Objekten im lokalen Cache und der Invalidierungsrichtlinie. Für den lokalen Cache sind zwei Invalidierungstypen verfügbar: timeoutbasierte Invalidierung und benachrichtigungsbasierte Invalidierung. Weitere Informationen finden Sie unter Ablauf und Entfernung (Windows Server AppFabric-Cache).

Tipp

Nachdem Objekte im lokalen Cache gespeichert wurde, verwendet Ihre Anwendung dieser Objekte weiterhin, bis sie invalidiert werden. Dies geschieht unabhängig davon, ob diese Objekte durch einen anderen Client für den Cachecluster aktualisiert wurden. Aus diesem Grund wird der lokale Cache am besten für Daten verwendet, die sich selten ändern.

Objektkonsistenz

Lokal zwischengespeicherte Objekte werden im gleichen Prozessbereich wie der Cacheclientprozess gespeichert. Wenn ein Cacheclient ein lokal zwischengespeichertes Objekt anfordert, empfängt der Client einen Verweis auf das lokal zwischengespeichertes Objekt anstelle einer Kopie. Dies stellt in Multithreadinganwendungen einen wichtigen Aspekt dar, da hier dasselbe lokal zwischengespeicherte Objekt durch mehrere Threads geändert werden kann. In diesen Anwendungen können standardmäßige Codierungstechniken von .NET Framework verwendet werden, um die Änderungen an Objekten aus mehreren Threads zu synchronisieren. Darüber hinaus können separate DataCacheFactory-Objekte für jeden Thread erstellt werden. Dies sollte jedoch im Einzelfall abgewogen werden, da der Mehraufwand für das Erstellen vieler Cachefactorys zu Lasten der Vorzüge geht.

Siehe auch

Konzepte

Diagramm der physischen Windows Server AppFabric-Cachearchitektur
Diagramm der logischen Windows Server AppFabric-Cachearchitektur
Ablauf und Entfernung (Windows Server AppFabric-Cache)
Aktivieren des lokalen Caches in Windows Server AppFabric
Aktivieren des lokalen Caches in Windows Server AppFabric (XML)
Entwickeln eines Cacheclients (Windows Server AppFabric-Cache)

  2011-12-05