ヘッダーをスキップ
Oracle® Coherenceスタート・ガイド
リリース3.6
B61369-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次

戻る
戻る
 
次へ
次へ
 

10 ローカル・キャッシュ

クラスタ・サービスではありませんが、Coherenceローカル・キャッシュ実装は、Coherenceの各種クラスタ・キャッシュ・サービスと組み合せて使用されることがよくあります。Coherenceローカル・キャッシュは、特定のクラスタ・ノードに対してローカルである(つまりノード内に完全に含まれる)キャッシュです。ローカル・キャッシュの特に興味深い属性について、次に示します。

Coherenceのニア・キャッシュ・テクノロジの一部として機能したり、モジュールで構成されたバッキング・マップ・アーキテクチャで使用されるなど、ローカル・キャッシュはクラスタ・キャッシュ・サービスにおいて重要な役割を果たします。

ローカル・キャッシュの構成

ローカル・キャッシュの主要な構成要素は<local-scheme>です。ローカル・キャッシュは通常、ニアスキームのフロント層としてなど、他のキャッシュ・スキーム内にネストされています。したがって、この要素はcoherence-cache-configファイルの次の要素のいずれかのサブ要素として記述できます。<caching-schemes><distributed-scheme><replicated-scheme><optimistic-scheme><near-scheme><versioned-near-scheme><overflow-scheme><read-write-backing-map-scheme>および<versioned-backing-map-scheme>の各要素です。

<local-scheme>には、キャッシュの特性を定義できるいくつかのサブ要素がオプションで用意されています。たとえば、<low-units>および<high-units>サブ要素はキャッシュのサイズを制限します。キャッシュが最大許容サイズに達すると、指定されたエビクション・ポリシー(<eviction-policy>)に従って削除対象エントリが決定され、指定されたより小さなサイズに戻ります。エントリおよびサイズの制限は、該当するスキームの単位換算カリキュレータ(<unit-calculator>)で計算される単位で測定されます。

キャッシュの有効期間も制限できます。<expiry-delay>サブ要素は、前回の更新からエントリが期限切れとしてマークされるまでの、キャッシュでエントリが保持される期間を指定します。期限切れのエントリを読み取るには、構成済のキャッシュ・ストア(<cachestore-scheme>)からエントリをリロードすることになります。

<cache-store-scheme>が指定されていない場合、キャッシュされたデータはメモリー内に存在して、キャッシュに対して実行された操作を反映するだけになります。使用可能なすべてのサブ要素の詳細は、「<local-scheme>」を参照してください。

例10-1(XMLコード)に、ローカル・キャッシュの構成を示します。その他の例については、「キャッシュ構成のサンプル」を参照してください。

例10-1 ローカル・キャッシュの構成

<?xml version="1.0"?>

<cache-config>
  <caching-scheme-mapping>
    <cache-mapping>
      <cache-name>example-local-cache</cache-name>
      <scheme-name>example-local</scheme-name>
    </cache-mapping>
  </caching-scheme-mapping>
  <caching-schemes>
    <local-scheme>
      <scheme-name>example-local</scheme-name>
      <eviction-policy>LRU</eviction-policy>
      <high-units>32000</high-units>
      <low-units>10</low-units>
      <unit-calculator>FIXED</unit-calculator>
      <expiry-delay>10ms</expiry-delay>
      <cachestore-scheme>
        <class-scheme>
          <class-name>ExampleCacheStore</class-name>
        </class-scheme>
      </cachestore-scheme>
      <pre-load>true</pre-load>
    </local-scheme>
  </caching-schemes>
</cache-config>

詳細は、『Oracle Coherenceクライアント・ガイド』の「C++クライアント用ローカル・キャッシュの構成」および「.NETクライアント用ローカル・キャッシュの構成」を参照してください。