ASP.NET Core の分散キャッシュ タグ ヘルパー

著者: Peter Kellner

分散キャッシュ タグ ヘルパーは、ASP.NET Core アプリの内容を分散キャッシュ ソースにキャッシュすることによって、アプリのパフォーマンスを大幅に改善する機能を提供します。

タグ ヘルパーの概要については、「ASP.NET Core のタグ ヘルパー」を参照してください。

分散キャッシュ タグ ヘルパーは、キャッシュ タグ ヘルパーと同じ基本クラスから継承されます。 すべてのキャッシュ タグ ヘルパー属性は分散タグ ヘルパーで使用できます。

分散キャッシュ タグ ヘルパーでは、コンストラクターの挿入が使用されます。 IDistributedCache インターフェイスは、分散キャッシュ タグ ヘルパーのコンストラクターに渡されます。 Startup.ConfigureServices (Startup.cs) に IDistributedCache の具体的な実装が作成されていない場合、分散キャッシュ タグ ヘルパーでは、キャッシュされたデータの格納にキャッシュ タグ ヘルパーと同じメモリ内プロバイダーが使用されます。

分散キャッシュ タグ ヘルパーの属性

キャッシュ タグ ヘルパーと共有される属性

  • enabled
  • expires-on
  • expires-after
  • expires-sliding
  • vary-by-header
  • vary-by-query
  • vary-by-route
  • vary-by-cookie
  • vary-by-user
  • vary-by
  • priority

分散キャッシュ タグ ヘルパーは、キャッシュ タグ ヘルパーと同じクラスから継承されます。 これらの属性に関する説明については、キャッシュ タグ ヘルパーに関するページをご覧ください。

name

属性の種類
String my-distributed-cache-unique-key-101

name は必須です。 格納された各キャッシュ インスタンスごとにキーとして name 属性が使用されます。 キャッシュ タグ ヘルパーは Razor ページ名と、Razor ページ内での位置に基づいて各インスタンスにキャッシュ キーを割り当てますが、分散キャッシュ タグ ヘルパーのキーが基準とするのは属性 name のみです。

例:

<distributed-cache name="my-distributed-cache-unique-key-101">
    Time Inside Cache Tag Helper: @DateTime.Now
</distributed-cache>

分散キャッシュ タグ ヘルパー IDistributedCache の実装

ASP.NET Core には IDistributedCache の 2 つの実装が組み込まれています。 1 つは SQL Server を、もう 1 つは Redis をベースにしています。 NCache など、サードパーティの実装も利用できます。 これらの実装の詳細については、「ASP.NET Core の分散キャッシュ」を参照してください。 どちらの実装も、Startup での IDistributedCache インスタンスの設定を伴います。

IDistributedCache のいずれかの具体的な実装の使用に、明確に関連付けられている属性はありません。

その他のリソース