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.