9.3.4. 有効期限の例
Data Grid を設定してエントリーを期限切れにすると、以下のアイドル期間と最大アイドル時間を設定できます。
-
キャッシュ内のすべてのエントリー (キャッシュ全体)
infinispan.xml
でキャッシュ全体の有効期限を設定できます。または、ConfigurationBuilder
を使用してプログラムで設定できます。 - エントリーごとに優先され、キャッシュ全体の有効期限の値よりも優先されます。エントリーの作成時に特定のエントリーの有効期限を設定します。
キャッシュエントリーの lifespan と最大アイドル時間の値を明示的に定義すると、Data Grid はキャッシュエントリーとともにクラスター全体でこれらの値を複製します。同様に、キャッシュストアを設定する場合は、Data Grid はエントリーと共に有効期限の値を永続化します。
すべてのキャッシュエントリーの有効期限の設定
2 秒後にすべてのキャッシュエントリーを期限切れにします。
<expiration lifespan="2000" />
最後のアクセス時間後にすべてのキャッシュエントリーを 1 秒後に期限切れにします。
<expiration max-idle="1000" />
interval
属性を使用して期限切れリーパーを無効にし、最後のアクセス時刻の 1 秒後にエントリーを手動で期限切れにします。
<expiration max-idle="1000" interval="-1" />
最後のアクセス時間から 5 秒または 1 秒後にすべてのキャッシュエントリーの有効期限が切れるので、これは常に最初に発生します。
<expiration lifespan="5000" max-idle="1000" />
キャッシュエントリーの作成時に有効期限の設定
次の例は、キャッシュエントリーを作成するときにライフスパンと最大アイドル値を設定する方法を示しています。
// Use the cache-wide expiration configuration. cache.put("pinot noir", pinotNoirPrice); 1 // Define a lifespan value of 2. cache.put("chardonnay", chardonnayPrice, 2, TimeUnit.SECONDS); 2 // Define a lifespan value of -1 (disabled) and a max-idle value of 1. cache.put("pinot grigio", pinotGrigioPrice, -1, TimeUnit.SECONDS, 1, TimeUnit.SECONDS); 3 // Define a lifespan value of 5 and a max-idle value of 1. cache.put("riesling", rieslingPrice, 5, TimeUnit.SECONDS, 1, TimeUnit.SECONDS); 4
Data Grid 設定ですべてのエントリーの有効期間値が 1000
と定義されている場合は、先行する Cache.put()
要求により、エントリーが期限切れになります。