1

クラスターをサポートするようにアプリケーションを拡張するために infinispan 分散グリッドを使用することにしましたが、この種の共有リソースを使用するときに制限に遭遇しました。分散キャッシュ内のすべての値またはキーを取得するにはどうすればよいですか? ドキュメントでは、すべてのコレクションメソッドが本番環境での実行に推奨されていないため、これを求めています(keySet()を意味します)。現在、キーと値のペアを持つローカル バケット/キャッシュがありますが、値を処理するには、キーを取得してセットを反復処理する必要があります。set = cache.keySet(); を設定します。

ローカル キャッシュに多数のエントリがある場合、keySet() はコピーを返しますが、これはメモリに大きな負荷がかかります。クエリ機能を使用しようとしましたが、値を検索する必要がない場合にネットワーク呼び出しがいくつかあります。また、クエリ機能は複雑なフィルターをサポートしていません。本番環境で infinispan を使用する場合、どのアプローチが最適か知っていますか?

これは実験段階であるため、最後の infinispan バージョンを使用しています。

どうもありがとう。

4

2 に答える 2

2

Map/Reduce 機能を使用すると、保存されているすべてのエントリを反復処理でき、データがある場所にロジックを移行することもできるため、負担が大きくなりません。

于 2012-11-29T09:20:51.870 に答える