CacheControl DataObject

CacheControl は、操作を実行する前にリポジトリー・アダプターのキャッシュをクリアするかどうか、 およびキャッシュをクリアするモードを指定します。

CacheControl は、アプリケーション・プログラミング・インターフェース (API) の get()、search()、update() の各メソッドに渡すことができます。 LDAP アダプターは、CacheControl を使用してそのキャッシュをクリアします。 その他のすぐに使用可能なアダプターは、キャッシュを持たないため CacheControl を無視します。 カスタム・アダプターを使用すると、CacheControl を使用して、キャッシュをクリアするための独自の処理を実装することができます。

CacheControl データ・オブジェクトは、以下の属性で構成されています。

mode
操作を実行する前にリポジトリー・アダプターのキャッシュをクリアするモードを指定します。
有効な値は以下のとおりです。
  • clearEntity: 指定されたエンティティーのキャッシュをクリアします。 この値は、search() メソッドには作用しません。
  • clearAll: アダプター内のキャッシュ情報をすべてクリアします。
これらの値では大/小文字が区別されません。 この属性にはデフォルト値はありません。 値を指定しないか、clearEntity または clearAll 以外の値を指定すると、エラー・メッセージが表示されます。
問題の回避: 頻繁にこのパラメーターを使用してキャッシュをクリアすると、 パフォーマンスが低下する可能性があります。 キャッシュをクリアすると、後続の操作はリポジトリーから 詳細を取得し、この新たに取得したデータでキャッシュを更新しなければなりません。 clearAll モードを使用するとキャッシュ全体が無効になるため、パフォーマンスへの影響はさらに顕著になり、後続の操作を完了するのにかかる時間が長くなります。

XML スキーマ定義

次に、CacheControl データ・オブジェクトの XML スキーマ定義を示します。

<xsd:complexType name="CacheControl">
  <xsd:complexContent>
    <xsd:extension base="Control">
      <xsd:sequence>
        <xsd:element name="mode" type="xsd:string" />
      </xsd:sequence>
    </xsd:extension>
  </xsd:complexContent>
</xsd:complexType>

サンプル・データ・オブジェクト

以下の例は、CacheControl データ・オブジェクトを示しています。

<wim:Root>
  <wim:entities xsi:type="wim:PersonAccount">
    <wim:identifier uniqueName="cn=testUser1,dc=yourco,dc=com"/>
  </wim:entities>
  <wim:controls xsi:type="wim:CacheControl">
    <wim:mode>clearEntity</wim:mode>
  </wim:controls>
  <wim:controls xsi:type="wim:PropertyControl">
    <wim:properties>sn</wim:properties>
  </wim:controls>
</wim:Root>


利用条件 | フィードバック