MemoryCache クラスに基づくキャッシュの構成に使用される要素を定義します。
MemoryCacheElement クラスは、キャッシュの構成に使用できる memoryCache 要素を定義します。
MemoryCache クラスの複数のインスタンスは、1 つのアプリケーションで使用できます。 構成ファイル内の各 memoryCache
要素には、名前付き MemoryCache インスタンスの設定を含めることができます。
<構成>
<system.runtime.caching>
<memoryCache>
構文
<memoryCache>
<namedCaches>
<!-- child elements -->
</namedCaches>
</memoryCache>
タイプ
MemoryCache クラス。
属性と要素
次のセクションでは、属性、子要素、および親要素について説明します。
属性
特性 | 説明 |
---|---|
CacheMemoryLimitMegabytes |
MemoryCache オブジェクトのインスタンスが拡張できる最大メモリ サイズ (メガバイト単位)。 既定値は 0 です。つまり、 MemoryCache クラスの自動サイズヒューリスティックが既定で使用されます。 (この設定は .Net Framework でのみ有効です)。 |
Name |
キャッシュ構成の名前。 |
PhysicalMemoryLimitPercentage |
キャッシュがエントリの削除を開始するシステム上の (すべてのプロセスによる) 物理メモリ使用量の合計に対する割合。 既定値は 0 です。つまり、 MemoryCache クラスの自動サイズヒューリスティックが既定で使用されます。 |
PollingInterval |
キャッシュ実装が現在のメモリ負荷を、キャッシュ インスタンスに設定されている絶対およびパーセンテージベースのメモリ制限と比較する時間間隔を示す値。 値は "HH:MM:SS" 形式で入力されます。 |
子要素
要素 | 説明 |
---|---|
<namedCaches> |
namedCache インスタンスの構成設定のコレクションが含まれています。 |
親の要素
要素 | 説明 |
---|---|
<構成> | 共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素を指定します。 |
<system.runtime.caching> | .NET Framework に組み込まれているアプリケーションで出力キャッシュを実装できる型が含まれています。 |
注釈
MemoryCache クラスは、抽象ObjectCache クラスの具体的な実装です。
MemoryCache クラスのインスタンスには、アプリケーション構成ファイルからの構成情報を指定できます。
memoryCache 構成セクションには、namedCaches
構成コレクションが含まれています。
メモリ ベースのキャッシュ オブジェクトが初期化されると、まず、メモリ キャッシュ コンストラクターに渡されるパラメーター内の名前と一致する namedCaches
エントリの検索が試みられます。
namedCaches
エントリが見つかった場合は、ポーリングとメモリ管理の情報が構成ファイルから取得されます。
初期化プロセスでは、コンストラクター内の構成情報の名前と値のペアの省略可能なコレクションを使用して、構成エントリがオーバーライドされたかどうかを判断します。 名前と値のペア コレクションに次のいずれかの値を渡すと、これらの値は構成ファイルから取得された情報をオーバーライドします。
例
次の例では、name
属性を "Default" に設定して、MemoryCache オブジェクトの名前を既定のキャッシュ オブジェクト名に設定する方法を示します。
cacheMemoryLimitMegabytes
属性とphysicalMemoryLimitPercentage
属性は 0 に設定されます。 これらの属性を 0 に設定すると、 MemoryCache 自動サイズヒューリスティックが既定で使用されます。 キャッシュの実装では、現在のメモリ負荷を、2 分ごとに絶対および割合ベースのメモリ制限と比較する必要があります。
<configuration>
<system.runtime.caching>
<memoryCache>
<namedCaches>
<add name="Default"
cacheMemoryLimitMegabytes="0"
physicalMemoryLimitPercentage="0"
pollingInterval="00:02:00" />
</namedCaches>
</memoryCache>
</system.runtime.caching>
</configuration>
こちらも参照ください
.NET