(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Lokaler Cache (Rollencache für Windows Azure Cache)

Letzte Aktualisierung: Februar 2014

Der lokale Cache ist eine Funktion von Windows Azure-Cache, die die Leistung durch Verringern von Netzwerkanforderungen an Remotecaches optimiert. Windows Azure-Cache speichert Objekte in serialisierter Form in einem In-Memory-Cache, der auf mehrere Server verteilt ist. Wenn eine Anwendung ein Objekt aus dem Cache anfordert, wird der Server identifiziert, der dieses Objekt speichert. Dieser Server sendet dann das serialisierte Objekt über das Netzwerk an die anfordernde Anwendung. Die Anwendung deserialisiert anschließend das Objekt für ihren Verwendungszweck. Aktivieren Sie den lokalen Cache, um den Vorgang des Abrufens eines Objekts zu beschleunigen.

Übersicht über den lokalen Cache

Wenn der lokale Cache aktiviert ist, speichert der Cacheclient lokal einen Verweis auf das Objekt. Dieser lokale Verweis bewirkt, dass das Objekt im Arbeitsspeicher der Clientanwendung aktiv bleibt. Wenn die Anwendung das Objekt anfordert, überprüft der Cacheclient, 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 der maximalen Anzahl von Objekten im lokalen Cache und der Invalidierungsrichtlinie abhängig. Für den lokalen Cache sind zwei Invalidierungstypen verfügbar: timeoutbasierte Invalidierung und benachrichtigungsbasierte Invalidierung. Weitere Informationen finden Sie unter Ablauf und Entfernung (Rollencache für Windows Azure Cache).

Konfigurationseinstellungen

Der lokale Cache kann mithilfe der Datei web.config oder der Anwendungskonfigurationsdatei aktiviert und konfiguriert werden. Sie können dem Abschnitt dataCacheClient ein localCache-Element hinzufügen. In der folgenden Tabelle werden Attribute des localCache-Elements beschrieben.

 

Attribut Beschreibung

isEnabled

Wird auf true oder false festgelegt, um den lokalen Cache zu aktivieren bzw. zu deaktivieren.

sync

Legt fest, wie der lokale Cache invalidiert wird. Die folgenden Werte sind möglich: TimeoutBased und NotificationBased.

objectCount

Die maximale Anzahl von Objekten, die im lokalen Cache gespeichert werden können. Der Standardwert ist 10.000.

ttlValue

Die maximale Anzahl von Sekunden, die Objekte im lokalen Cache verbleiben. Der Standardwert beträgt 300 Sekunden.

Ein sync-Wert von TimeoutBased bewirkt, dass Objekte lokal zwischengespeichert bleiben, bis der ttlValue-Grenzwert erreicht wird. Ein Wert von NotificationBased verwendet Benachrichtigung zusätzlich zum timeoutbasierten Mechanismus. Wenn Benachrichtigungen für die Invalidierung verwendet werden sollen, aktivieren Sie Benachrichtigungen für den Cache. Das Abfrageintervall für Benachrichtigungen überprüft, ob sich Elemente im lokalen Cache geändert haben. Ein effektives Abfrageintervall für Benachrichtigungen muss kürzer als die Einstellung ttlValue sein. Ein weiteres Element (clientNotification) kann zum Konfigurieren des Abfrageintervalls für Benachrichtigungen verwendet werden, indem das Attribut pollInterval auf die Sekundenanzahl festgelegt wird. Der Standardwert beträgt 300 Sekunden.

noteHinweis
Benachrichtigungen sind eine Funktion von Rolleninterner Cache, die nur für Caches unterstützt wird, die für Windows Azure-Rollen gehostet werden. Benachrichtigungen werden in Windows Azure Shared Caching nicht unterstützt.

Beispiele

Das folgende Beispiel zeigt einen Abschnitt dataCacheClient, der den lokalen Cache mit einem timeoutbasierten lokalen Ablauf von fünf Minuten (300 Sekunden) verwendet.

    <dataCacheClient name="default">
      <!-- Other configuration settings for cache -->
      <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
    </dataCacheClient>

Das folgende Beispiel zeigt, wie der vorherige Abschnitt dataCacheClient so geändert wurde, dass Benachrichtigungen verwendet werden, um zusätzliche Synchronisierung durch einen Abruf pro Minute (60 Sekunden) bereitzustellen. Benachrichtigungen werden nur mit rollenbasiertem Rolleninterner Cache unterstützt.

    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="WebRole1" />
      <localCache isEnabled="true" sync="NotificationBased" objectCount="100000" ttlValue="300" />
      <clientNotification pollInterval="60" />
    </dataCacheClient>

Wenn Sie ein Beispiel herunterladen möchten, das den lokalen Cache verwendet, finden Sie weitere Informationen im API- und Leistungsbeispiel für Caching.

Siehe auch

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.