2016-06-28 31 views
2

Ich habe eine Anwendung, die in ASP.NET MVC 5 geschrieben wird. Dies generiert viele Datenbanktransaktionen.Kann Memcached als Second-Layer-Caching für Entity Framework 6 verwendet werden?

Ich habe keinen Server-Slave für das Reporting, also muss ich eine zweite Ebene Caching im Entity-Framework verwenden, um alle Abfragen zwischenzuspeichern, die von den Berichten generiert werden.

Die Idee hier ist, die Anzahl der Abfragen zu reduzieren, die die Datenbank treffen müssen, besonders wenn mehrere Benutzer versuchen, denselben Bericht anzuzeigen. Wenn ich also 5 Personen habe, die ein Dashboard anzeigen möchten, trifft nur eines die Datenbank und der Rest liest den im Cache gespeicherten Datensatz. Dies sollte die Berichtsleistung verbessern, die Datenbanksperren reduzieren und die Anwendungsleistung verbessern.

Ist es möglich, Memcached oder Redis mit Entity-Framework zu verwenden, in dem der Datensatz zwischengespeichert wird, nachdem die Abfrage für eine bestimmte Zeit ausgeführt wurde. Und natürlich wird der Cache vor der Ausführung der Abfrage auf das vorhandene Dataset überprüft, bevor eine harte Anfrage auf dem Server ausgeführt wird.

Ich bin auf NCache gestoßen, das scheint genau zu sein, was ich versuche zu erreichen, aber leider ist es teuer.

Antwort

1

Während Sie Recht haben, ist NCache "teuer", wenn es mit Redis oder Memcache verglichen wird, aber es mit gutem Grund.

Das Entity Framework Provider-Modell, das Sie suchen, kommt mit der NCache Enterprise Edition. Es spart Ihnen viel DEV Zeit. Für mich weitere Informationen verweisen Sie lassen nur auf den richtigen Artikel

Entity Framework Caching with NCache

Und da Sie für das Produkt zahlen werde können Sie Ihre Reaktionszeiten von Anwendungen mit vielen vielen mehr Möglichkeiten und Funktionen verbessern.

Um weitere Informationen zu erhalten versuchen Memcache Comparison und die Redis Comparison

Während, wenn Sie Memcache noch persistent sind, dann Julie Lerman einen Second Level Cache über die Implementierung in einem Entity Framework einen guten Artikel hat. Oder Sie können ein beliebiges anderes Open-Source-Entity-Framework-Modul von Github verwenden und die Bugs auch z. EFRedis

Vollständige Offenlegung: Ich arbeite für Alachisoft ©