asp.net-web-api
キャッシング
サーチ…
備考
キャッシングは、将来のリクエストのためにデータをどこかに格納するプロセスです。私たちがデータをどこかにキャッシュすると、データを取得するためにデータベースへの望ましくないヒットを避けることができます。 。
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