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

[解決済み】MVCアプリケーションでデータをキャッシュする方法

2022-04-03 09:57:29

質問

MVCアプリケーションのページキャッシュや部分的なページキャッシュに関する情報をたくさん読みました。しかし、私はあなたがどのようにデータをキャッシュするのか知りたいのです。

私のシナリオでは、LINQ to Entities(エンティティフレームワーク)を使用する予定です。GetNames(またはメソッドが何であれ)に対する最初の呼び出しで、私はデータベースからデータを取得したいと思います。その結果をキャッシュに保存し、2回目の呼び出しで、キャッシュされたバージョンが存在すればそれを使用したいと思います。

どなたか、これがどのように機能するか、どこに実装すべきか(モデル?)、そしてうまくいくかどうか、例を示していただけませんか。

私は、従来のASP.NETアプリケーションで、通常は非常に静的なデータに対して、この方法が行われているのを見たことがあります。

解決方法は?

を参照してください。 System.Web をモデル内で使用し System.Web.Caching.Cache

    public string[] GetNames()
    {
      string[] names = Cache["names"] as string[];
      if(names == null) //not in cache
      {
        names = DB.GetNames();
        Cache["names"] = names;
      }
      return names;
    }

ちょっと簡略化されていますが、これでいいのでしょう。これはMVC特有のものではなく、私はいつもデータをキャッシュするためにこの方法を使用しています。