(0) exportieren Drucken
Alle erweitern

Lokaler Cache (Rollencache für Azure Cache)

Letzte Aktualisierung: Juli 2010

noteHinweis
Hilfestellung bei der Auswahl des für Ihre Anwendung geeigneten Azure Cache-Angebots finden Sie unter Welches Azure-Cacheangebot eigent sich am besten für mich?.

Der lokale Cache ist eine Microsoft Azure Cache-Funktion zur Leistungsverbesserung, durch die die Netzwerkanforderungen an Remotecaches verringert werden. Microsoft Azure Cache speichert Objekte in serialisierter Form in einem In-Memory-Cache, der über mehrere Server verteilt ist. Wenn eine Anwendung ein Objekt aus dem Cache anfordert, wird der betreffende Server, auf dem sich das Objekt befindet, identifiziert. Dieser Server sendet dann das serialisierte Objekt über das Netzwerk an die anfordernde Anwendung. Daraufhin deserialisiert die Anwendung das Objekt für ihre Zwecke. Aktivieren Sie den lokalen Cache, um den Vorgang des Abrufens eines Objekts zu beschleunigen.

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 Azure Cache).

Der lokale Cache kann mithilfe der Datei web.config oder der Anwendungskonfigurationsdatei aktiviert und konfiguriert werden. Sie können dem Abschnitt localCache ein dataCacheClient-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. Mögliche Werte sind TimeoutBased und NotificationBased.

objectCount

Die maximale Anzahl von Objekten, die im lokalen Cache gespeichert werden können. Die Standardeinstellung ist 10000.

ttlValue

Die maximale Anzahl von Sekunden, die Objekte im lokalen Cache verbleiben. Der Standardwert ist 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 ist 300 Sekunden.

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

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

Anzeigen:
© 2014 Microsoft