サーチ…


備考

キャッシングは、将来のリクエストのためにデータをどこかに格納するプロセスです。私たちがデータをどこかにキャッシュすると、データを取得するためにデータベースへの望ましくないヒットを避けることができます。 。

System.Runtime.Caching(MemoryCache)

名前空間System.Runtime.Cachingをインポートします(プロジェクト参照にSystem.Runtime.Caching DLLが追加されていることを確認してください)。

MemoryCacheクラスのインスタンスを作成します。

MemoryCache memCache = MemoryCache.Default;

MemoryCacheに値を追加する

public IQueryable<tblTag> GettblTags()
        {
            var ca = db.tblTags;
            memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
            return db.tblTags;
        }

ここで "タグ"は私のキーで、 "ca"は私の値で、DateTimeOffset.UtcNow.AddMinutes(5)は今から5分間キャッシュを設定するためのものです。

MemoryCacheから値を取得する

var res = memCache.Get("tag");
            if (res != null)
            {
                return res;
            }
            else {
                var ca = db.tblTags;
                memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
                return db.tblTags;
            }

変数resにキャッシュ値を取得しますが、この値は5分間しかないことに注意してください。必要に応じていつでも変更することができます。値がnullでない場合は、それを返して操作し、nullの場合はデータベースからデータをフェッチしてキャッシュに値を追加します。

MemoryCacheから値を削除する

            if (memCache.Contains("tag"))
            {
                memCache.Remove("tag");
            }


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow