Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerCache スコープでキャッシュエントリの値を再計算するには、キャッシュエントリを無効化します。
Invalidate Key コンポーネントと Invalidate Cache コンポーネントを使用することで、それぞれキャッシュキーとキャッシュ全体を無効化できます。また、時間に基づいてエントリを無効化するようにキャッシュ戦略を設定することもできます。
参照先のキャッシュ戦略でキャッシュキーを無効化するように、アプリケーションフローで Invalidate Key コンポーネントを設定します。
Invalidate Key と Invalidate Cache コンポーネントで同じキャッシュ戦略を参照している場合、そのキャッシュ戦略で同期アクセスを無効化していない限り、Invalidate Key または Invalidate Cache コンポーネントを Cache スコープ内で指定しないでください。指定すると、ロックされたキャッシュをアプリケーションで無効化しようとしたときに、アプリケーションが応答しなくなります。 |
Invalidate Key コンポーネントを設定する手順は次のとおりです。
Anypoint Studio で Invalidate Key コンポーネントをドラッグしてフローに追加します。
フロー内で Invalidate Key コンポーネントをクリックしてプロパティを開きます。
無効化するキャッシュキーが保存されているキャッシュ戦略を指定します。
必要に応じて、キャッシュキーを計算するための方法を選択します。
<!-- Caching strategy configuration -->
<ee:object-store-caching-strategy name="myCachingStrategy" keyGenerationExpression="#[payload.key]" />
<flow name="cacheFlow">
<ee:cache cachingStrategy-ref="myCachingStrategy">
<!-- Processing logic inside the Cache Scope -->
</ee:cache>
</flow>
<flow name="invalidateItemFlow">
<!-- Invalidate Key component configuration -->
<ee:invalidate-key cachingStrategy-ref="myCachingStrategy" keyGenerationExpression="#[payload.key]" />
</flow>
参照先のキャッシュ戦略でキャッシュ全体を無効化するように、アプリケーションフローで Invalidate Cache コンポーネントを設定します。
Invalidate Cache コンポーネントを設定する手順は次のとおりです。
Anypoint Studio で Invalidate Cache コンポーネントをドラッグしてフローに追加します。
フロー内で Invalidate Cache コンポーネントをクリックしてプロパティを開きます。
無効化するキャッシュ戦略を指定します。
<!-- Caching strategy configuration -->
<ee:object-store-caching-strategy name="myCachingStrategy" />
<flow name="cacheFlow">
<ee:cache cachingStrategy-ref="myCachingStrategy">
<!-- Processing logic inside the Cache Scope -->
</ee:cache>
</flow>
<flow name="invalidateCompleteCacheFlow">
<!-- Invalidate Cache component configuration -->
<ee:invalidate-cache cachingStrategy-ref="myCachingStrategy" />
</flow>
キャッシュ戦略を設定するときに、カスタムオブジェクトストアの設定で存続期間 (entryTtl
) 値を指定することで、保存されているキャッシュキーが一定期間後に期限切れになるように設定できます。
キャッシュキーが設定時間後に自動的に無効化されるようにオブジェクトストアをキャッシュ戦略で設定する手順は次のとおりです。
「キャッシュ戦略のセットアップ」の手順を実行します。
キャッシュ戦略でオブジェクトストアを設定する際に、[Entry TTL (エントリ TTL)] の値を指定します。
この値は、キャッシュエントリが期限切れになる時間を表します。
オブジェクトストアの設定を完了します。
<!-- Object Store configuration-->
<os:config name="ObjectStore_Config"/>
<!-- Caching Strategy configuration-->
<ee:object-store-caching-strategy name="Caching_Strategy">
<!-- Object Store defined for the caching strategy -->
<os:private-object-store
alias="CachingStrategy_ObjectStore"
maxEntries="100"
entryTtl="10"
expirationInterval="5"
config-ref="ObjectStore_Config"/>
</ee:object-store-caching-strategy>