第4章 エクスパレーションのセットアップ

4.1. エクスパレーションについて

Red Hat JBoss Data Grid は、以下の値のいずれかまたは両方をエントリーに追加するためにエクスパレーションを使用します。
  • ライフスパンの値。
  • 最大アイドル時間の値。
エクスパレーションはエントリーまたはキャッシュごとに指定でき、エントリーごとの設定は、キャッシュごとの設定よりも優先されます。エクスパレーションがキャッシュレベルで設定される場合、エクスパレーションのデフォルトが lifespan または maxIdle 値を明示的に指定しないすべてのエントリーに適用されます。
エクスパレーションがキャッシュレベルで設定されない場合、キャッシュエントリーは、デフォルトで期限なし (immortal) (つまり期限切れにならないもの) として作成されます。lifespan または maxIdle が定義されたすべてのエントリーについては、いずれかの条件を満たす場合にキャッシュから最終的に削除されるため、これらには期限が設定されます。
エビクトされたエントリーとは異なり、期限切れのエントリーはグローバルに削除されます。そのため、期限切れのエントリーはメモリー、キャッシュストア、およびクラスターからり削除されます。
エクスパレーションは、指定した期間中に使用されなかったエントリーのメモリーからの削除を自動化します。エクスパレーションとエビクションは、以下の点で異なっています。
  • エクスパレーションは、エントリーがメモリーに存在していた期間に基づいてエントリーを削除します。エクスパレーションは、ライフスパンの期間が終了するか、またはエントリーが指定したアイドル時間よりも長くアイドル状態になっていた場合のみ、エントリーを削除します。
  • エビクションは、エントリーがどの程度最近 (および頻繁) に使用されるかに基づいてエントリーを削除します。エビクションは、メモリーに存在するエントリーが多すぎる場合にエントリーを削除します。キャッシュストアが設定されている場合、エビクトされたエントリーがキャッシュストアで永続化します。