NHibernate Cache
NHibernate ist eine Open-Source-Lösung für die objektrelationale Zuordnung, die ein Framework für die Zuordnung relationaler Datenbanken zur objektorientierten Darstellung von Daten bereitstellt und so den Entwickleraufwand beim Abrufen von Daten aus der Datenbank erheblich reduziert. Darüber hinaus bietet NHibernate die Möglichkeit, die Anwendungsleistung zu verbessern und die Belastung der Datenbank zu verringern NHibernate Cache um sich wiederholende Datenbankaufrufe zu reduzieren.
Note
Diese Funktion ist auch in verfügbar NCache Professional.
Erste Ebene NHibernate Cache
Das First-Level-Caching-Modul von NHibernate bietet In-Process-Caching auf Sitzungsebene. Bei der Sitzungserstellung wird eine Verbindung zu einem Sitzungscache hergestellt. Wenn ein Objekt aus der Datenbank geladen wird, verwaltet der Sitzungscache außerdem eine Objektkopie. Wenn dieselbe Sitzung das Objekt erneut abruft, erhält sie eine zwischengespeicherte Kopie. Wenn in einer bestimmten Transaktion dasselbe Objekt mehrmals aktualisiert wird, wird es nur im Sitzungscache aktualisiert. Beim Festschreiben der Transaktion bleibt nur der Endzustand eines Objekts in der Datenbank erhalten, wodurch wiederholte Aktualisierungsaufrufe vermieden werden.
NCache als NHibernate Second Level Cache
NCache bietet NHibernate Second-Level-Cache-Anbieter. Der NCache Der Anbieter wird ohne Codeänderung als NHibernate-Cache der zweiten Ebene konfiguriert. Benutzen NCache als Second-Level-Cache für NHibernate ermöglicht die Anwendung zu verwenden NCacheverteilte Caching-Funktionen.
NCache bietet die folgenden Funktionen mit Second-Level-Cache-Anbieter:
Geben Sie mehrere Regionen an
In der können mehrere NHibernate-Regionen angegeben und konfiguriert werden NCache Konfigurationsdatei für NHibernate Cache. Diese Regionen werden anhand von Regionsnamen identifiziert und können mit mehreren konfiguriert werden NCache Funktionen.
Jede Region kann mit konfiguriert werden NCache Caching-Funktionen.
NCache Cache für Region
NCache ermöglicht die Angabe NCache Cache-Instanzen für jede Region separat. Jede Region wird separat konfiguriert NCache Cache-Instanzen, oder eine Cache-Instanz wird bei Bedarf für mehrere Speicherorte verwendet.
Priorität von Cache-Elementen: Daten in jeder Region sind so konfiguriert, dass sie in der Priorität haben NHibernate cache. Diese Priorität wird dann für Richtlinien zur Datenentfernung verwendet.
Absoluter Ablauf: Daten in jeder Region sind so konfiguriert, dass sie in der Priorität haben NHibernate cache. Diese Priorität wird dann für Richtlinien zur Datenentfernung verwendet. NCacheDie konfigurierbare Funktion „Absolute Expiration“ hält die Daten im Cache auf dem neuesten Stand, indem alte Daten nach dem konfigurierten Zeitintervall ablaufen.
Gleitender Ablauf: Der Cache-Bereich kann auch so konfiguriert werden, dass für Elemente im Cache ein absolutes Ablaufdatum gilt. Bei Verwendung des gleitenden Ablaufs werden Daten, die seit dem konfigurierten Intervall nicht verwendet wurden, automatisch entfernt NCache.
Konfigurieren Sie mehrere Regionen sogar auf einer einzigen NCache Cache-Instanz
NCache Anbieter für NHibernate ermöglicht die Verwendung einer einzigen NCache Beispiel für mehrere NHibernate cache Instanzen. NCache führt eine Aufzeichnung der Daten und der zugehörigen NHibernate-Region.
Datenbankabhängigkeiten
Um die Datenkonsistenz mit der Datenbank zu gewährleisten, NCache Bietet eine Datenbankabhängigkeitsfunktion für NHibernate-Anwendungen, die auf Entitätsbasis konfiguriert werden kann. Die Datenbankabhängigkeit synchronisiert die Cache-Daten mit der Datenbank, sodass jede Änderung im Datenbankdatensatz die entsprechende Entität im Cache ungültig macht. Somit ruft NHibernate aktuelle Datensätze ab, auch wenn die Datenbankaktualisierung von einer anderen Anwendung als der NHibernate-Anwendung stammt.
Abfrage-Caching-Funktion zum Zwischenspeichern der Ergebnisse großer Abfragen
Komplexe und große Abfragen können die Datenbank belasten, wenn sie wiederholt ohne Ergebnisänderung ausgeführt werden. Um die mehrfache Ausführung solcher Abfragen zu vermeiden, NCache ermöglicht das Zwischenspeichern solcher Abfragen mithilfe der Abfrage-Cache-Funktion von NHibernate. Eine solche Abfrage und ihre Ergebnisse werden also für eine NHibernate-Anwendung ausgeführt und stehen allen NHibernate-Anwendungen zur Verfügung, die diese Datenbank verwenden, ohne sie abzufragen.
Keine Codeänderung erforderlich
NCache ermöglicht die Nutzung aller Funktionen über seine Konfigurationsdateien, ohne dass Codeänderungen erforderlich sind.
In diesem Abschnitt
Die richtigen NCache als NHibernate Second Level Cache
Erklärt die Konfiguration und Verwendung NCache als NHibernate Second-Level-Cache.
Abfrage-Caching mit Nhibernate
Erläutert, wie Abfragen zwischengespeichert werden NCache mit NHibernate.
Synchronisieren Sie die Datenbank mit dem NHIbernate-Cache der zweiten Ebene
Erklärt, wie Datenbanken mit NHibernate in synchronisiert werden NCache.