2016-06-07 78 views
0

我使用谷歌缓存在单身ejb中缓存数据。并且缓存的资源被多个ejbs使用。但是现在我不确定如果同一个应用程序在部署在可以存在多个JVM的多代码群集环境中时是否可以工作。谷歌缓存可以在集群环境中工作

请指教!

回答

1

不,Guava Cache不适合您的用例,因为它将数据存储在内存中。见this wiki page

  • 你愿意花更多的内存来提高速度:

    一般来说,每当番石榴缓存实用程序都适用。

  • 您希望密钥有时会被多次查询。
  • 您的缓存不需要存储比适合内存更多的数据。 (番石榴缓存是本地应用程序的一次运行。他们 数据不存储在文件中,或者在外面的服务器。如果这不 满足您的需求,可以考虑像Memcached的工具。)

我可以推荐你使用Ehacache,它非常强大和可配置。

+1

还有很多其他分布式缓存解决方案。 EHCache是​​开源的,但有些功能缺失,只能在Terracota的BigMemory Go和BigMemory Max中使用。一些替代品是Apache Commons JCS,Hazelcast和Infinispan。 – mfulton26

+0

我会考虑Hazelcast与JavaEE有很好的集成,并正在为JCache开发JSR。 – Sergio