23.9. 他の管理ツールと操作
23.9.1. URL 経由のデータアクセス
put()
および post()
メソッドは、キャッシュにデータを格納します。使用される URL より使用されるキャッシュ名とキーを判断することができます。データはキャッシュに格納される値で、要求の本文に置かれます。
GET
および HEAD
メソッドが使用され、他のヘッダーはキャッシュの設定と挙動を制御します。
注記
23.9.2. Map メソッドの制限
size()
、 values()
、 keySet()
、 entrySet()
などの特定の Map メソッドは不安定であるため、Red Hat JBoss Data Grid で一定の制限付きで使用することが可能です。これらのメソッドはロック (グローバルまたはローカル) を取得せず、同時編集、追加、および削除はこれらの呼び出しでは考慮されません。
JBoss Data Grid 7.0 では、マップメソッド size()
、values()
、keySet()
、および entrySet()
には、デフォルトでキャッシュローダーのエントリーが含まれます。使用されるキャッシュローダーはこれらのコマンドのパフォーマンスに直接影響を与えます。たとえば、データベースを使用している場合、これらのメソッドはデータが格納されるテーブルの完全なスキャンを実行し、処理が遅くなることがあります。キャッシュローダーからエントリーをロードしないようにし、パフォーマンスの低下を避けるには、必要なメソッドを実行する前に Cache.getAdvancedCache().withFlags(Flag.SKIP_CACHE_LOAD)
を使用します。
JBoss Data Grid 7.0 では、Cache.size()
メソッドは、クラスター全体で、このキャッシュとキャッシュローダーの両方にあるすべての要素の数を提供します。ローダーまたはリモートエントリーを使用している場合、メモリー関連の問題の発生を防げるようにエントリーのサブセットのみが指定時にメモリーに保持されます。すべてのエントリーのロードする場合、その速度が遅くなる場合があります。
size()
メソッドで返される結果は、ローカルノードにあるエントリー数を返すよう強制実行する org.infinispan.context.Flag#CACHE_MODE_LOCAL
フラグと、パッシべートされたエントリーを無視する org.infinispan.context.Flag#SKIP_CACHE_LOAD
フラグによって影響を受けます。これらのフラグのいずれかを使用すると、クラスター全体ですべての要素の数を返さない代わりにこのメソッドのパフォーマンスを上げることができます。
JBoss Data Grid 7.0 では、Hot Rod プロトコルには専用の SIZE
操作が含まれ、クライアントはこの操作を使用してすべてのエントリーのサイズを計算します。