2016-06-07 81 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