9.4. キャッシュパッシベーション


キャッシュローダーを使用して、 キャッシュでのエビクションでノードのパッシベーションとアクティベーションを強制することが可能です。
キャッシュのパッシベーションは、 インメモリキャッシュからオブジェクトを削除し、 エビクション時に 2 次データストア (ファイルシステムやデータベースなど) に書き込むプロセスです。 キャッシュのアクティベーションは、 オブジェクトを使用する必要がある時にオブジェクトをデータストアからインメモリキャッシュへ復元するプロセスです。 どちらの場合でも、 データストアからの読み取りとデータストアへの書き込みには設定されたキャッシュローダーが使用されます。
有効なエビクションポリシーがキャッシュよりノードをエビクトすると、 パッシベーションが有効になっている場合はノードがパッシベートされたという通知がキャッシュリスナに送られ、 ノードとその子ノードがキャッシュローダーストアに保存されます。 エビクトされたノードをユーザーが読み出そうとすると、 ノードがキャッシュローダーストアよりメモリへロード (レイジーなロード) されます。 ロードされると、 ノードとその子ノードはキャッシュローダーより削除され、 ノードがアクティベートされたという通知がキャッシュリスナに送られます。
キャッシュのパッシベーションやアクティベーションを有効にするには、 passivation を true に設定します。 デフォルト値は false です。 パッシベーションが使用される場合は、 最初に設定されたキャッシュローダーのみが使用され、 他のキャッシュローダーは無視されます。

9.4.1. パッシベーションを無効にした場合と有効にした場合のキャッシュローダーの挙動

パッシベーションが無効な場合、 要素が変更、 追加、 削除されるとその変更内容がキャッシュローダーによってバックエンドストアに永続されます。 エビクションとキャッシュローディングに直接的な関係はありません。 エビクションを使用しない場合、 永続ストア内のデータは基本的にメモリ内のデータのコピーとなります。 エビクションを使用する場合、 永続ストア内のデータは基本的にメモリ内のデータのサブセットとなります (メモリからエビクトされたノードが含まれます)。
パッシベーションが有効な場合、 エビクションとキャッシュローダーに直接的な関係が存在します。 エビクションプロセスの一部としてのみキャッシュローダーによる永続ストアへの書き込みが発生します。 アプリケーションがメモリへ読み戻すとデータが永続ストアより削除されます。 この場合、 メモリ内のデータと永続ストア内のデータは全体的な情報セットの 2 つのサブセットとなり、 サブセットは交差しません。
次の簡単な例では、 6 つの手順のうち、 各手順が終了した後に RAM と永続ストアに存在するステートを表しています。
  1. /A を挿入
  2. /B を挿入
  3. エビクションスレッドを実行、 /A をエビクト
  4. /A を読み取り
  5. エビクションスレッドを実行、 /B をエビクト
  6. /B を削除
パッシベーションが無効の場合は次のようになります。
                1) Memory: /A Disk: /A
                2) Memory: /A, /B Disk: /A, /B
                3) Memory: /B Disk: /A, /B
                4) Memory: /A, /B Disk: /A, /B
                5) Memory: /A Disk: /A, /B
                6) Memory: /A Disk: /A
パッシベーションが有効な場合は次のようになります。
                1) Memory: /A Disk:
                2) Memory: /A, /B Disk:
                3) Memory: /B Disk: /A
                4) Memory: /A, /B Disk:
                5) Memory: /A Disk: /B
                6) Memory: /A Disk:
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る