8 Stimmen

Was ist der beste Cache für Nhibernate, wenn eine MVC-Webanwendung verwendet wird?

Wenn Sie Nhibernate für den Datenzugriff in einer MVC-Anwendung verwenden würden, was wäre der beste Cache-Provider, z. B. Syscache, Syscache2, Memcache, HashTable zu verwenden?

Vielen Dank für Ihre Meinung.

11voto

Joey V. Punkte 1766

HashTable ist der integrierte Standard-Cache-Anbieter. Es wird empfohlen no diesen zu verwenden.

  • SysCache verwendet System.Web.Caching.Cache als Cache-Anbieter
  • SysCache2 ist im Grunde dasselbe, außer dass es auch SQL-abhängige Verfallsdaten unterstützt. Er erfordert MSSQL 2000+.

In den meisten Szenarien (nicht Webfarm) wird die SysCache Anbieter sollte ausreichen.

Weitere Informationen finden Sie auf der Dokumentation zu NHibernate.Caches

3voto

Palani Punkte 8752

Wenn Sie nach der Cache-Handhabungsmethodik von NHibernate fragen, (NHibernate speichert/ruft die Cache-Daten nicht selbst ab, dazu müssen wir den Cache-Provider gesondert konfigurieren)

Aufgrund der Beschaffenheit von Webanwendungen (Multi-Thread-Anwendungen) können wir den First Level Cache nicht verwenden. Aber wir können verwenden

  • Zweite Cache-Ebene
  • Abfrage-Cache

Bei der Verwendung des Cache können in folgenden Fällen alte Daten angezeigt werden

  • Wenn Daten von einem anderen Client (außer ASP.Net-Client) geändert werden
  • Wenn Daten von Triggern verändert werden

Stellen Sie also sicher, dass Sie den Cache löschen, wenn die oben genannten Fälle vorliegen.


Zu den Cache-Anbietern,

Nhibernate unterstützt mehrere Cache-Anbieter, Syscache, Syscache2, Memcache, HashTable usw.. Ich verwende Syscache, und es funktioniert gut. Da ich nicht mit anderen Cache-Anbietern gearbeitet habe, kann ich sie nicht vergleichen.

Alte und einzige Dokumentation für Nhibernate Caches http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/caches.html

Mehr Docs Der beste Ort für NHibernate-Dokumentation?

-1voto

ChadT Punkte 7283

Welcher Cache ist am besten geeignet? Meinen Sie die Art des Caches? Oder die Cache-Plattform?

Es ist der HttpRuntime.Cache eingebaut. Es hängt von Ihrer Anwendung ab, was zwischengespeichert werden soll.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X