7.8. ディストリビューションモードにおける GET および PUT の使用


ディストリビューションモードでは、write コマンドの前にキャッシュがリモートの GET コマンドを実行します。これは、java.util.Map コントラクトに従って指定されたキーに関連する以前の値を返すメソッド (Cache.put()) があるからです。これがキーを所有しないインスタンスで実行され、エントリーが 1 次キャッシュで見つからない場合、PUT の前にリモートの GET を実行することが、戻り値を取得するための信頼できる唯一の方法になります。
Red Hat JBoss Data Grid は戻り値を待たなければならないため、キャッシュが同期または非同期であるかに関わらず、PUT 操作の前に発生する GET 操作は常に同期になります。

7.8.1. 分散された GET および PUT 操作

ディストリビューションモードでは、必要な PUT 操作を実行する前に、キャッシュが GET 操作を実行することがあります。
この操作は、リソースの面では大変コストのかかる操作になります。リモート GET 操作は同期であるにも関わらず、すべての応答を待たないため、無駄になるリソースが発生します。GET 処理は最初に受信する有効な応答を許可するため、パフォーマンスとクラスターの大きさとの関連性はありません。
ご使用の実装で戻り値が必要でない場合、呼び出し毎の設定に対する Flag.SKIP_REMOTE_LOOKUP フラグを使用します。
このような動作は、キャッシュの操作や全パブリックメソッドの正確な機能を害することはありませんが、java.util.Map インターフェースコントラクトに違反します。これは、信頼できず正確でない戻り値が特定のメソッドに提供されるため、コントラクトに違反することになります。そのため、これらの戻り値が設定上重要な目的に使用されないようにしてください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat