<memoryCache> 要素 (キャッシュ設定)

MemoryCache クラスに基づくキャッシュを構成するために使用される要素を定義します。 MemoryCacheElement クラスは、キャッシュの構成に使用できる memoryCache 要素を定義します。 MemoryCache クラスの複数のインスタンスを、単一のアプリケーションで使用できます。 構成ファイル内の各 memoryCache 要素には、指定した MemoryCache インスタンスの設定を含むことができます。

configuration
  <system.runtime.caching>
    <memoryCache>

構文

<memoryCache>
    <namedCaches>  
        <!-- child elements -->  
    </namedCaches>
</memoryCache>  

種類

MemoryCache クラス。

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明
CacheMemoryLimitMegabytes MemoryCache オブジェクトのインスタンスを拡張できる最大メモリ サイズ (メガバイト)。 既定値は 0 であり、これは MemoryCache クラスの自動サイズ調整ヒューリスティックが既定で使用されることを意味します。
Name キャッシュ構成の名前。
PhysicalMemoryLimitPercentage キャッシュが使用できる物理メモリの割合。 既定値は 0 であり、これは MemoryCache クラスの自動サイズ調整ヒューリスティックが既定で使用されることを意味します。
PollingInterval 時間間隔を示す値。この値を超えると、キャッシュの実装によりキャッシュ インスタンスに設定されている絶対およびパーセントのメモリ制限と現在のメモリ負荷が比較されます。 値は "HH:MM:SS" 形式で入力します。

子要素

要素 説明
<namedCaches> namedCache インスタンスの構成設定のコレクションが含まれます。

親要素

要素 説明
<configuration> 共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素を指定します。
<system.runtime.caching> .NET Framework に組み込まれているアプリケーションに出力キャッシュを実装できるようにするタイプが含まれます。

解説

MemoryCache クラスは、抽象 ObjectCache クラスの具象実装です。 MemoryCache クラスのインスタンスには、アプリケーション構成ファイルの構成情報を指定することができます。 memoryCache 構成セクションには、 namedCaches の構成コレクションが含まれます。

メモリ ベースのキャッシュ オブジェクトが初期化されると、まず、メモリ キャッシュ コンストラクターに渡されるパラメーターの名前と一致する namedCaches のエントリの検索が試行されます。 namedCaches のエントリが見つかると、ポーリングとメモリ管理の情報が構成ファイルから取得されます。

次に、初期化プロセスで、コンストラクターの構成情報にある名前/値ペアの任意のコレクションを使用して、構成エントリがオーバーライドされているかどうかが確認されます。 名前/値ペアのコレクションの、次の値のいずれかを渡すと、構成ファイルから取得した情報をその値がオーバーライドします。

次の例は、name 属性を "Default" に設定することで、MemoryCache オブジェクトの名前を既定のキャッシュ オブジェクト名に設定する方法を示しています。

cacheMemoryLimitMegabytes 属性および physicalMemoryLimitPercentage 属性はゼロに設定されます。 これらの属性をゼロに設定すると、 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>  

関連項目