Übersicht über Datenablauftypen und -strategien
NCache unterstützt die zeitbasierte Datenungültigmachung, bei der Sie die Zeit oder das Intervall angeben können, zu dem Ihre Cache-Daten ablaufen. Die zeitbasierte Datenungültigmachung ist in Situationen anwendbar, in denen Sie die Häufigkeit von Datenänderungen bestimmen können. Beispielsweise werden Regionsinformationen möglicherweise nicht häufig aktualisiert, sodass Sie einen zeitbasierten Ablauf verwenden können, um solche Daten ungültig zu machen.
Darüber hinaus führt das Verfallen veralteter Daten aus dem Cache dazu, dass dem Client relevante und aktualisierte Daten bereitgestellt werden. Beispielsweise können die für ein bestimmtes Produkt verfügbaren Einheiten in der Datenbank geändert, im Cache jedoch nicht aktualisiert werden. Wenn solche Daten nach einer bestimmten Zeitspanne aus dem Cache ablaufen, werden daher bei der nächsten Clientanforderung neue Daten in den Cache geladen.
Eine weitere Verwendung des Datenablaufs besteht in der Aufrechterhaltung von Sitzungen. Wenn eine Sitzung für einen bestimmten Zeitraum inaktiv war, kann sie aus dem Cache entfernt werden, da sie sich im Leerlauf befindet.
Den Cache-Elementen wird ein Ablaufwert hinzugefügt. NCache verwaltet einen Index für Elemente mit zeitbasiertem Ablauf. Ein dedizierter Thread überprüft die Cache-Daten für diese abgelaufenen Elemente regelmäßig nach einem konfigurierbaren Zeitintervall namens „Clean Interval“. Standardmäßig beträgt der Wert 15 Sekunden, was bedeutet, dass die maximale Zeit, die ein Element zum Entfernen aus dem Cache benötigen kann, (Ablaufzeit + Bereinigungsintervall + Zeit, die für die Bereinigungsaktivität benötigt wird) beträgt. Daher sollten Sie dieses Intervall entsprechend der Ablaufzeit Ihrer Daten sorgfältig auswählen.
Absoluter Ablauf
Sie können ein Element mit „Absolute Expiration“ zum Cache hinzufügen, indem Sie das genaue Datum und die genaue Uhrzeit angeben, zu der das Element ungültig werden soll. Nach Ablauf dieser Zeit wird das Element aus dem Cache entfernt. Hier, NCache Behält die UTC-Zeit für den absoluten Ablauf auf den Caching-Servern bei, was den Fall erleichtert, dass sich Clients und Cache-Server in unterschiedlichen Zeitzonen befinden. Dies bedeutet, dass die von den Clients angegebene Ablaufzeit (in jeder Zeitzone) auf dem Cache-Server in UTC konvertiert wird und das Element genau zu dem von den Clients angegebenen Datum und der genauen Uhrzeit abläuft. Sie können die Ablaufzeit im Bereich von Sekunden bis hin zu Tagen und Monaten angeben.
Note
Diese Funktion ist auch in verfügbar NCache Professional.
Beachten Sie jedoch, dass das Element entfernt wird, wenn es im nächsten Cache-Bereinigungsintervall abläuft. Wenn Sie beispielsweise einen Ablauf von 10 Sekunden für ein Element angeben und das Cache-Bereinigungsintervall auf 15 Sekunden konfiguriert ist, wird das Element innerhalb des Zeitrahmens von 15–25 Sekunden entfernt.
Gleitender Ablauf
Bei diesem Ablauf möchten Sie, dass der Cache die Daten so lange behält, wie sie von der Anwendung verwendet werden, und alle Daten entfernt, die über einen bestimmten Zeitraum nicht verwendet wurden. Jedes Mal, wenn der Benutzer mit gleitendem Ablauf auf die Cache-Daten zugreift, verlängert sich die Cache-Lebensdauer um das spezifische Ablaufintervall. Beispielsweise wird ein Element mit 30 Sekunden gleitendem Ablauf aus dem Cache entfernt, wenn der Benutzer mindestens 30 Sekunden lang nicht darauf zugreift . Bei jedem Zugriff wird jedoch das Ablaufintervall des Elements auf 30 Sekunden zurückgesetzt, wodurch sich seine Lebensdauer im Cache um 30 Sekunden verlängert.
Note
Diese Funktion ist auch in verfügbar NCache Professional.
Beispielsweise können Sitzungsdaten im Cache gespeichert werden, solange die Sitzung aktiv ist. Für diese Art von Daten können Sie einen gleitenden Ablauf festlegen, beispielsweise 15 Minuten. Wenn also innerhalb des angegebenen Zeitintervalls eine Aktivität auftritt, wird das Ablaufintervall der Sitzung im Cache auf 15 Minuten zurückgesetzt.
Ähnlich wie beim absoluten Ablauf werden Cache-Elemente mit gleitendem Ablauf im Cache-Bereinigungsintervall entfernt.
Warnung
Wenn für das Cache-Element kein Ablaufdatum angegeben ist, verbleibt es im Cache, bis es explizit entfernt wird. Dies kann den Cache-Speicher überfordern.
Bitte beachten Sie auch Räumungsrichtlinien Das ist ein weiteres Merkmal von NCache um die Cache-Speichernutzung zu steuern.
Standardabläufe
NCache Unterstützt auch Standardabläufe, die Ihnen dabei helfen können, Ihre Strategien zur Datenungültigmachung flexibler festzulegen. Standardabläufe werden über konfiguriert NCache Management Center bzw config.ncconfDaher ist es nicht erforderlich, den Code zu ändern, wenn Sie den Ablaufwert ändern möchten, der über die API übergeben wird. Wenn dieselbe Anwendung außerdem mehrere Ablaufwerte erfordert, können Standardablaufwerte verwendet werden.
NCache stellt die folgenden Standardabläufe bereit:
- Standardmäßig absolut
- Standardmäßig gleitend
- Standardmäßig absolut länger
- Standardmäßig länger gleiten
Alle Standardabläufe haben einen Mindestwert von 5 Sekunden.
Angenommen, Default Absolute ist mit 5 Sekunden konfiguriert und Default Sliding Longer ist mit 10 Sekunden konfiguriert. Ein Objekt der Produkt Die Klasse wird mit „Default Absolute“ zum Cache hinzugefügt und eine Sitzung wird mit „Default Sliding Longer Expiration“ hinzugefügt. Sobald das Objekt hinzugefügt wurde, möchten Sie den Ablaufwert für beide auf 15 Sekunden ändern. Anstatt die Objekte mit den neuen Ablaufwerten erneut einzufügen, können Sie einfach die Konfiguration ändern NCache Management Center bzw config.ncconf, ohne Codeänderung.
Es gibt mehrere Szenarien, in denen die Konfiguration der Ablaufrichtlinie über die NCache Management Center und API überschneiden sich und lösen die folgenden Verhaltensweisen aus. Beachten Sie, dass sich der nicht standardmäßige Ablauf auf den absoluten und gleitenden Ablauf bezieht.
Standardablauf | Ablauf im API-Aufruf | Verhalten |
---|---|---|
Konfiguriert | Standardablauf | Standardablauf |
Konfiguriert | Nicht standardmäßiger Ablauf | Nicht standardmäßiger Ablauf |
Konfiguriert | Andere | Standardablauf |
nicht konfiguriert | Standardablauf | Kein Ablauf |
nicht konfiguriert | Nicht standardmäßiger Ablauf | Nicht standardmäßiger Ablauf |
nicht konfiguriert | Andere | Kein Ablauf |
Wichtig
Aussichten für CacheItem
, der Standardwert von Absolute und Sliding Expiration ist NoAbsoluteExpiration und NoSlidingExpiration. Wenn also der Standardablauf konfiguriert ist, in der API jedoch kein Ablauf konfiguriert ist CacheItem
, findet KEIN Ablauf statt, da der Standard-Ablaufwert den konfigurierten Standard-Ablaufwert überschreibt.
Ablauf in einer Cluster-Umgebung
In einer Cluster-Cache-Umgebung, in der mehrere Caching-Server beteiligt sind, wird der Ablauf in verschiedenen Fällen unterschiedlich gehandhabt NCache Topologien.
- Im Gespiegelt In der Topologie führt der aktive Knoten den Ablauf durch und synchronisiert ihn auf dem passiven Knoten.
- Im Repliziert Der Ablauf des Caches wird vom Koordinatorknoten durchgeführt und der Vorgang wird dann mit den anderen geclusterten Knoten synchronisiert.
- Im Partitioniert Da Daten auf separate Knoten verteilt werden, ist jeder Knoten für den Ablauf seines eigenen Elements verantwortlich.
- Aussichten für Partitionsreplikat Topologie wird der Ablauf auf aktiven Knoten durchgeführt und an ihre jeweiligen Replikate weitergegeben.
- Client-Cache verwendet denselben Ablauf, der für den Cluster-Cache aktiviert ist. Der gleitende Ablauf wird jedoch als absoluter Ablauf hinzugefügt, sobald er mit dem Cache synchronisiert wird, da er zu Inkonsistenzen führt, wenn der Wert im Cluster-Cache, aber nicht im Client-Cache verschoben wird.
Siehe auch
Absoluter Datenablauf im Cache
Gleitender Ablauf
Vertreibung