1. ホーム
  2. asp.net-mvc

[解決済み] asp.net-mvcにおけるキャッシュ

2023-06-28 03:15:13

質問

asp.net-mvc サイトで、最もデータベース負荷の高いアクションをキャッシュしたいと思います。 私の研究では、私は見つけました

でも、まだわかった気がしないんです。

私はいくつかのparsに応じて私のPOSTリクエストをキャッシュすることができるようにしたい。これらのparsはオブジェクトにあります。だから、私は次のリクエストの結果をキャッシュしたいと思います。

public ActionResult AdvancedSearch(SearchBag searchBag)

ここで、searchBagはオプションの検索パラメータを(束で)保持するオブジェクトです。 私のビュー自体は軽いのですが(当然ですが)、データアクセスは、検索バッグにどのフィールドが記入されるかによって、かなり時間がかかることがあります。

アクションではなく、データレイヤーにキャッシュする必要があると感じています。

OutputCache属性のVaryByParamはどのように使用すればよいのでしょうか?

どのように解決するのですか?

私はモデル層やデータ層でもキャッシュするのが好きです。 これにより、コントローラ/プレゼンテーションからデータを取得することに関係するすべてが分離されます。 ASP.NETのキャッシュにアクセスするには System.Web.HttpContext.Current.Cache からアクセスするか、Enterprise LibraryにあるCaching Application Blockを使用します。 クエリのパラメータから、キャッシュされたデータのキーを作成します。 データを更新するときは、必ずキャッシュを無効にしてください。