20.7.5. RemoteCache(.keySet|.entrySet|.values)


コレクションメソッド keySetentrySet、および values はリモートキャッシュによってサポートされます。つまり、すべてのメソッドが RemoteCache に戻されるということです。これは、さまざまなキー、エントリ、または値を遅延して取得でき、ユーザーが望まない場合にそれらすべてを一度にクライアントメモリに保存する必要がないため便利です。これらのコレクションは、addおよびaddAllはサポートされていませんが、他のすべてのメソッドはサポートされているというMap仕様に準拠しています。

注記の 1 つとして、Iterator.remove メソッドおよび Set.remove メソッドまたは Collection.remove メソッドには、操作するサーバーに 1 つ以上のラウンドトリップが必要です。RemoteCache Javadoc を確認して、これらの方法と他のメソッドの詳細を確認することができます。

イテレーターの使用

これらのコレクションの iterator メソッドは、以下で説明されている retrieveEntries を内部で使用します。retrieveEntries がバッチサイズの引数を取る場合。これをイテレータに提供する方法はありません。このようなバッチサイズは、RemoteCacheManager の設定時にシステムプロパティー infinispan.client.hotrod.batch_size を使用するか、ConfigurationBuilder を使用して設定できます。

また、返される retrieveEntries イテレーターは Closeable です。keySetentrySet、および values からのイテレーターは AutoCloseable バリアントを返します。したがって、これらの「Iterator」の使用が終了したら、常に閉じる必要があります。

try (CloseableIterator<Entry<K, V>> iterator = remoteCache.entrySet().iterator) {
 ...
}
Copy to Clipboard Toggle word wrap

バッキングコレクションではなく、ディープコピーが必要な場合

以前のバージョンの RemoteCache では、keySet のディープコピーの取得が許可されました。これは新しいバッキングマップでも可能です。コンテンツを自分でコピーするだけです。また、これまでサポートしていなかったentrySetおよびvaluesを使用してこれを行うこともできます。

Set<K> keysCopy = remoteCache.keySet().stream().collect(Collectors.toSet());
Copy to Clipboard Toggle word wrap

鍵が多数ある場合があり、クライアントで OutOfMemoryError が発生する可能性があるため、細心に注意を払ってください。

Set keys = remoteCache.keySet();
Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る