Share via


Ablauf und Entfernung für Azure Managed Cache Service

Wichtig

Microsoft empfiehlt, alle neuen Entwicklungen azure Redis Cache zu verwenden. Für aktuelle Dokumentation und Anleitungen zur Auswahl eines Azure Cache-Angebots finden Sie unter Welches Azure Cache-Angebot ist für mich richtig?

Microsoft Azure Cache behält keine zwischengespeicherten Objekte im Arbeitsspeicher dauerhaft. Zusätzlich zum expliziten Entfernen aus dem Cache mithilfe der Remove-Methode können zwischengespeicherte Objekte auch ablaufen oder vom Cache entfernt werden.

Ablauf

Durch den Cacheablauf kann der Cache zwischengespeicherte Objekte automatisch aus dem Cache entfernen. Wenn die Methoden Put oder Add verwendet werden, kann ein optionaler Objekttimeoutwert für das betreffende zwischengespeicherte Objekt festgelegt werden, der bestimmt, wie lange das Objekt im Cache gespeichert bleibt. Wenn der Timeoutwert des Objekts nicht zu dem Zeitpunkt angegeben wird, an dem das Objekt zwischengespeichert wird, verwendet das zwischengespeicherte Objekt die Standardablaufzeit. Die Standardzeit für Managed Cache Service beträgt zehn Minuten.

Die Ablaufrichtlinie arbeitet mit der Einstellung Zeit (Min.) zusammen, um zu ermitteln, wann zwischengespeicherte Elemente ablaufen. Dieses Verhalten wird auf der Ebene benannter Caches im Verwaltungsportal auf der Registerkarte Konfigurieren für den Cache konfiguriert.

Expiry Policy for Windows Azure Cache Service

Es gibt drei Arten von Ablaufrichtlinien Absolute, Sliding und Never.

Ablaufrichtlinie BESCHREIBUNG

Never

Der Ablauf ist deaktiviert. Elemente verbleiben im Cache, bis sie entfernt werden. Wenn Nie angegeben wird, muss Zeit (Min.) auf 0 festgelegt werden.

Absolute

Das durch Zeit (Min.) angegebene Ablaufintervall beginnt, wenn dem Cache ein Element hinzugefügt wird. Nachdem das von Zeit (Min.) angegebene Intervall abgelaufen ist, läuft das Element ab.

Gleitend

Das durch Zeit (Min.) angegebene Ablaufintervall wird bei jedem Zugriff auf ein Element im Cache zurückgesetzt. Das Element läuft erst ab, wenn das von Zeit (Min.) angegebene Intervall nach dem letzten Zugriff auf das Element abläuft. Auf diese Weise verbleiben häufig verwendete Elemente länger im Cache.

Absolut ist die Standardablaufrichtlinie, und 10 Minuten ist die Standardeinstellung für Zeit (Min.). Die Ablaufrichtlinie wird für jedes Element in einem benannten Cache behoben, aber die Zeit (min) kann für jedes Element angepasst werden, indem Sie Add- und Put-Überladungen verwenden, die einen Timeoutparameter verwenden.

Hinweis

Beachten Sie unbedingt das Verhalten des Ablaufs vom Typ Gleitend, wenn eine Verwendung in Kombination mit einem lokalen Cache erfolgt. Wenn ein Element aus dem lokalen Cache gelesen wird, erfolgt kein Zugriff auf das Objekt für den Cache. Daher ist es möglich, dass das Element auf dem Server abläuft, obwohl es lokal gelesen wurde.

Wenn zwischengespeicherte Objekte aus Parallelitätsgründen gesperrt sind, werden sie selbst dann nicht aus dem Cache entfernt, wenn sie abgelaufen sind. Sobald ihre Sperre aufgehoben wird, werden sie sofort aus dem Cache entfernt, wenn ihre Ablaufzeit überschritten ist.

Zum Verhindern der sofortigen Entfernung beim Aufheben der Sperre angelaufener Objekte unterstützt die Methode Unlock auch das Erweitern des Ablaufs des zwischengespeicherten Objekts.

Sie können den Status und die Leistung Ihres Caches auf der Registerkarte Überwachen für den Cache im Verwaltungsportal anzeigen. Dies schließt Metriken für Entfernung und Ablauf ein. Weitere Informationen finden Sie unter Überwachen des Cachediensts mithilfe der Registerkarte "Monitor".

Lokale Cacheinvalidierung

Es gibt zwei ergänzende Arten von Ungültigkeit für den lokalen Cache: Timeout-basierte Ungültigkeit und Benachrichtigungsbasierte Ungültigkeit.

Tipp

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

Timeoutbasierte Invalidierung

Nachdem Objekte in den lokalen Cache heruntergeladen wurden, verbleiben sie dort, bis sie den in den Konfigurationseinstellungen des Cacheclients angegebenen Timeoutwert erreichen. Nachdem dieser Timeoutwert erreicht wurde, werden die Objekte invalidiert, damit das Objekt bei seiner nächsten Anforderung aus dem Cache aktualisiert werden kann.

Benachrichtigungsbasierte Invalidierung

Wenn Ihr Cacheclient den lokalen Cache aktiviert hat, können Sie auch Cachebenachrichtigungen zum automatischen Invalidieren Ihrer lokalen zwischengespeicherten Objekte verwenden. Indem die Lebensdauer dieser Objekte "bei Bedarf" verkürzt wird, können Sie die Wahrscheinlichkeit verringern, dass Ihre Anwendung veraltete Daten verwendet.

Hinweis

Benachrichtigungen sind in den Cacheangeboten Standard und Premium, nicht jedoch im Cacheangebot Basic verfügbar. Weitere Informationen finden Sie unter Cacheangebote für Azure Managed Cache Service.

Wenn Sie Cachebenachrichtigungen verwenden, überprüft die Anwendung den Cache in regelmäßigen Intervallen auf neue verfügbare Benachrichtigungen. Dieses Intervall, das als Abfrageintervall bezeichnet wird, beträgt standardmäßig 300 Sekunden. Das Abfrageintervall wird in den Anwendungskonfigurationseinstellungen in Sekundeneinheiten angegeben. Beachten Sie, dass auch bei benachrichtigungsbasierter Invalidierung Timeouts für Elemente im lokalen Cache weiterhin gelten. Auf diese Weise ergänzt die benachrichtigungsbasierte Invalidierung die timeoutbasierte Invalidierung.

Weitere Informationen und Beispiele finden Sie unter "Lokaler Cache für Azure Managed Cache Service".

Entfernung

Wenn Sie die für den Caches verfügbare Speicherkapazität beibehalten möchten, wird die LRU-Entfernung (Last Recently Used, zuletzt verwendet) unterstützt. Wenn sich der Speicherverbrauch der Größe Ihres Cacheangebots nähert, werden Objekte aus dem Arbeitsspeicher entfernt. Dieser Vorgang erfolgt unabhängig davon, ob die Objekte abgelaufen sind, und er wird ausgeführt, bis die Speicherknappheit beseitigt ist.

Warnung

Wenn Sie die Entfernung deaktivieren, besteht das Risiko der Drosselung. In diesem Fall hat der Arbeitsspeicher den Schwellenwert überschritten, es gibt jedoch keine Möglichkeit, die Speicherknappheit zu beheben. Clients, die versuchen, dem Cache in diesem Status Elemente hinzuzufügen, erhalten eine Ausnahme, bis das Problem behoben wurde.

Sie können den Status und die Leistung Ihres Caches auf der Registerkarte Überwachen für den Cache im Verwaltungsportal anzeigen. Dies schließt Metriken für Entfernung und Ablauf ein. Weitere Informationen finden Sie unter Überwachen des Cachediensts mithilfe der Registerkarte "Monitor".

Es gibt zwei Einstellungen für die Entfernung: Aktiviert und deaktiviert. Die Entfernung wird auf der Ebene benannter Caches im Verwaltungsportal auf der Registerkarte Konfigurieren für den Cache konfiguriert, und die Standardeinstellung ist Aktiviert.

Eviction Policy for Windows Azure Cache Service

Angeben von Ablauf- und Entfernungseinstellungen mithilfe von Code

Sie können die Standardeinstellungen im Cache mit den folgenden Methoden außer Kraft setzen:

  • Die Methoden "Hinzufügen " und " Put " bieten Überladungen, mit denen Sie nur einen Ablaufzeitoutwert für das Objekt angeben können, das Sie dem Cache hinzufügen.

  • Die Methoden"PutAndUnlock" und "Entsperren" bieten Überladungen, mit denen Sie den Ablauf eines Objekts erweitern können, nachdem sie entsperrt wurden.

  • Mit der ResetObjectTimeout-Methode können Sie die Lebensdauer eines Objekts explizit erweitern und die Ablaufeinstellungen des Caches außer Kraft setzen.

Hinweis

Unabhängig von den Einstellungen für Ablauf und Entfernung werden Cachedaten bei unerwartetem Herunterfahren oder Fehlern des Cachediensts nicht beibehalten. Ihr Anwendungscode muss den Cache aus der Datenquelle erneut laden, wenn die Daten im Cache nicht gefunden werden. Dies wird häufig als ein cachefremdes Programmierschema bezeichnet.

Weitere Informationen

Weitere Ressourcen

Funktionen von Azure Managed Cache Service