私はASP.NET MVC 5で書かれたアプリケーションを持っています。これは、多くのデータベーストランザクションを生成します。MemcachedをEntity Framework 6の第2層キャッシュとして使用できますか?
レポート専用のサーバースレーブがないため、レポートで生成されたすべてのクエリをキャッシュするために、Entityフレームワークで2番目のレベルのキャッシュを使用する必要があります。
ここでの考え方は、特に複数のユーザーが同じレポートを表示しようとしているときにデータベースにヒットする必要があるクエリの量を減らすことです。ダッシュボードを表示する5人のユーザーがいる場合は、1人だけがデータベースにアクセスし、残りのユーザーはキャッシュに格納されたデータセットを読み取ります。これにより、レポートのパフォーマンスが向上し、データベースのロックが軽減され、アプリケーションのパフォーマンスが向上します。
MemcachedまたはRedisは、クエリが一定の時間実行された後にデータセットがキャッシュされるEntityフレームワークで使用できますか。そしてもちろん、クエリが実行される前に、サーバでハード・クエリが実行される前に、キャッシュは既存のデータセットについてチェックされます。
私はNCacheに出くわしました。これは私が達成しようとしているものですが、残念ながらそれは高価です。