0

周りを見回したところ、どうやら Infinispan では、データを FileStore に永続化するときに保存できるキーの量に制限があるようです。「開いているファイルが多すぎます」という例外が発生します。

私はトルクボックスのアイデアが大好きで、スタックをスリム化し、Redis の代わりに Infinispan を使用することを切望していました。データの割り当てをキャッシュする必要があるアプリがあります。クエリは計算コストが高く、毎日再計算する必要があります (コール センターのエージェントによる電話およびその他の生産性指標)。

少なくとも 1 つのアプリを実行していればキャッシュが保持されることは理解していますが、クラスターは実行していません。むしろキャッシュを永続化したいと思います。誰かがこの問題に遭遇し、回避策を持っていますか?

4

2 に答える 2

0

はい、Infinispan の FileCacheStore には、開くファイルが多すぎるという問題がありました。5.3.x の新しい SingleFileStore はその問題を解決しますが、Torquebox はまだ Infinispan 5.1.x ( https://github.com/torquebox/torquebox/blob/master/pom.xml#L277 ) を使用しているようです。

于 2014-03-17T07:37:50.450 に答える
0

ライブ アプリケーションでもinfinispanキャッシュを使用しています。

基本的に、データベースクエリとその結果を、更新可能でなくデータサイズが小さいテーブルのキャッシュに保存しています。

それを設計するには、次の 2 つの方法があります。

  • クエリをキーとして使用し、そのデータを値として使用します

    非常に多くの異なるクエリがキャッシュに配置されると、キャッシュ内のエントリが多すぎます。

  • xyzキーおよびMap値として使用(Mapクエリをキーとして、そのデータを値として含む)

    このキャッシュからデータが必要な場合はいつでも、キャッシュ内の単一のエントリにつながります (私はそれをクエリキャッシュと呼びます)Map最初にキーを使用して取得し、次にクエリ自体xyzを見つけます。Map

2番目のアプローチを使用しています。

于 2014-03-16T23:48:33.643 に答える