0

我环顾四周,显然 Infinispan 在将数据保存到 FileStore 时可以存储的密钥数量有限制。我得到“打开的文件太多”异常。

我喜欢扭矩箱的想法,并且急于缩小堆栈并只使用 Infinispan 而不是 Redis。我有一个需要缓存数据分配的应用程序。查询的计算成本很高,并且需要每天重新计算(电话和呼叫中心代理的其他生产力指标)。

虽然我知道如果我至少运行一个应用程序,缓存会持续存在,但我没有运行集群。我宁愿保留缓存。有没有人遇到这个问题并有解决方法?

4

2 回答 2

0

我还在infinispan实时应用程序中使用缓存。

基本上,我们将数据库查询及其结果存储在不可更新且数据大小较小的表的缓存中。

有两种设计方法:

  • 将查询用作键,将其数据用作值

    当将这么多不同的查询放入其中时,它会导致缓存中的条目过多。

  • 用作xyz键和Map值(Map包含作为键的查询及其作为值的数据)

    每当需要从此缓存(我称之为查询缓存)中获取数据时,它会导致缓存中的单个条目Map首先使用键检索,然后在自身xyz中查找查询。Map

我们正在使用第二种方法。

于 2014-03-16T23:48:33.643 回答
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 回答