MemoryCache クラスに基づいたキャッシュの構成に使用される要素を定義します。 MemoryCacheElement クラスは、キャッシュの構成に使用できる memoryCache 要素を定義します。 MemoryCache クラスの複数のインスタンスを 1 つのアプリケーションで使用できます。 構成ファイル内に含まれる各 memoryCache 要素には、名前付き MemoryCache インスタンスの設定を含めることができます。
<memoryCache
<namedCaches>
<!-- child elements -->
</namedCaches>
< memoryCache />
MemoryCache クラス
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 |
説明 |
---|---|
CacheMemoryLimitMegabytes |
MemoryCache オブジェクトのインスタンスで許可される最大メモリ サイズ (MB 単位)。 既定値は 0 です。これは、MemoryCache クラスの自動サイズ変更ヒューリスティックが既定で使用されることを意味します。 |
Name |
キャッシュ構成の名前。 |
PhysicalMemoryLimitPercentage |
キャッシュが使用できる物理メモリの割合。 既定値は 0 です。これは、MemoryCache クラスの自動サイズ変更ヒューリスティックが既定で使用されることを意味します。 |
PollingInterval |
キャッシュの実装が、現在のメモリ負荷を、キャッシュ インスタンスに設定されているメモリ制限の絶対値および割合と比較する時間間隔を示す値。 値は "HH:MM:SS" の形式で入力されます。 |
子要素
要素 |
説明 |
---|---|
namedCache インスタンスの構成設定のコレクションが含まれます。 |
親要素
要素 |
説明 |
---|---|
.NET Framework に構築されたアプリケーションに出力のキャッシュを実装できる型が含まれています。 |
解説
MemoryCache クラスは、抽象 ObjectCache クラスの具象実装です。 MemoryCache クラスのインスタンスは、アプリケーション構成ファイルの構成情報で指定できます。 memoryCache 構成セクションには、namedCaches 構成コレクションが含まれます。
メモリ ベースのキャッシュ オブジェクトが初期化されると、最初に、メモリ キャッシュ コンストラクターに渡されるパラメーター内の名前と一致する namedCaches エントリが検索されます。 namedCaches エントリが見つかった場合は、ポーリングおよびメモリ管理情報が構成ファイルから取得されます。
続いて、初期化プロセスは、コンストラクター内の構成情報の名前と値のペアのオプションのコレクションを使用して、いずれかの構成エントリがオーバーライドされたかどうかを判断します。 名前/値のペアのコレクションに次のいずれかの値を渡す場合、これらの値は構成ファイルから取得された情報をオーバーライドします。
使用例
name 属性を "default" に設定することで、MemoryCache オブジェクトの名前を既定のキャッシュ オブジェクト名に設定する方法を次の例に示します。
cacheMemoryLimitMegabytes 属性と physicalMemoryPercentage 属性は 0 に設定されています。 これらの属性を 0 に設定すると、MemoryCache 自動サイズ変更ヒューリスティックが既定で使用されます。 キャッシュの実装は、現在のメモリ負荷を、メモリ制限の絶対値および割合と 2 分ごとに比較する必要があります。
<configuration>
<system.runtime.caching>
<memoryCache>
<namedCaches>
<add name="default"
cacheMemoryLimitMegabytes="0"
physicalMemoryPercentage="0"
pollingInterval="00:02:00" />
</namedCaches>
</memoryCache>
</system.runtime.caching>
</configuration>