Datenabhängigkeit im Cache
Datenbanken speichern Daten basierend auf einem relationalen Modell, in dem sie durch Tupel oder relationale Gruppen dargestellt werden. Entitäten in dieser Datenbank werden auf der Grundlage des zuvor erwähnten relationalen Modells anderen Entitäten zugeordnet und demonstrieren so ihre Abhängigkeit voneinander.
Bei der Speicherung in einem Cache besteht keine Datenabhängigkeit, die Daten haben kein relationales Modell und liegen als Schlüssel-Wert-Paar vor. Die Elemente verfügen also über kein Modell, um die abhängigen Cache-Elemente zu ermitteln. Um also eine Cache-Abhängigkeit bereitzustellen, NCache bietet verschiedene Techniken, mit denen Benutzer Abhängigkeiten einzelner Elemente von anderen bereitstellen können und umgekehrt.
Daten im Cache können Abhängigkeitsbeziehungen zu Elementen wie einem Element, einer Datei an einem bestimmten Ort, einem Datensatz in einer Datenbank, Ergebnissen einer bestimmten Abfrage oder einem anderen zwischengespeicherten Objekt haben, sodass jede Änderung darin die Daten im Cache ungültig machen kann. In diesem Fall müssen alle abhängigen Daten neu geladen oder aus dem Cache entfernt werden, um zu verhindern, dass die Daten veraltet sind.
Da die Daten in serialisierter Form in den Cache gelangen, kann sich das abhängige Element nicht entsprechend den Aktualisierungen des Elements, von dem es abhängig ist, selbst aktualisieren. Das abhängige Element verlässt den Cache bei zwei Arten von Schreibvorgängen:
- Vorgang aktualisieren
- Vorgang entfernen
Dieser Mechanismus trägt dazu bei, die Serverlast zu reduzieren und die Effizienz der Anwendung für den Benutzer zu verbessern.
In diesem Abschnitt
Abhängigkeit von einem einzelnen Cache-Schlüssel
Erklärt, wie Daten mithilfe der Schlüsselabhängigkeit hinzugefügt werden.
Multi-Cache-Schlüsselabhängigkeit
Erklärt, wie Daten zwischen verschiedenen Caches synchronisiert werden, um die Datenintegrität sicherzustellen.