Infinispan:仅本地缓存

时间:2019-01-08 13:12:03

标签: java infinispan

我正在使用 Infinispan(7.2.3.Final)将数据存储到多个缓存中。

问题是:我只想将本地数据存储到文件中。我不想将数据存储到内存中以避免内存问题。

我收到此错误:

java.lang.OutOfMemoryError: Java heap space

1 个答案:

答案 0 :(得分:3)

Infinispan是Java分布式内存。因此,如果您不想使用RAM,则我认为使用它无关紧要。在我看来,Infinispan的良好用法意味着您将调整内存(大小和逐出),以在运行成本,复杂性和性能之间找到良好的折衷。

您可以将Infinispan配置为保留数据(doc)。并且您可以配置它以从RAM存储器(doc)中删除数据。但是,如果您不描述用例,尤其是为什么您认为您需要Infinispan(为什么不使用数据库?),我就无法建议实际的配置。

一种可能的用法是保留所有内存。显然,您的数据必须足够小(我没有给出数字,有些人可以接受支付多台机器以减少延迟,这取决于您的业务...)

十年前,我们可以使用它们来简单地批量插入数据库。现在,我们在此用例中使用Kafka。

常见用法是将热数据保留在内存中。在这种情况下,我们配置逐出和持久性。我认为您正在寻找驱逐策略here。有几种驱逐策略。但是据我所知,任何人都不允许根本不使用RAM:至少在持久性期间,对象将通过内存。