恐怕我对ehcache有一些非常基本的问题。我想在没有任何重要基础设施的情况下对集群Glassfish使用缓存机制。 据我所知,使用带有ehcache的ditributed缓存意味着我必须使用terracotta服务器阵列,不是吗?
我在缓存方面不是很有经验所以我可以在聚类glassfish上使用ehcache,我只是将一些JAR放入Glassfish的类路径中,或者将一些WAR或其他东西部署到Glassfish上,就是这样吗?我还必须使用外部缓存服务器吗?
ehcache中的复制缓存不需要兵马俑服务器阵列,可以吗?
我想在商店中存储一个java Map对象,这个对象会经常被更改。在这种情况下,正如我所知,复制缓存不是最佳选择。 Hazelcast分布式缓存需要任何外部缓存服务器吗? 非常感谢您的帮助! 有一个美好的一天,专家!
答案 0 :(得分:1)
如果您运行Java,Hazelcast不需要任何外部服务器。 基本上将hazelcast.jar添加到您的类路径中。从您的应用程序创建一个Hazelcast实例:
HazelcastInstance hazelcast = Hazelcast.newHazelcastInstance(new Config());
然后获取分布式地图:
Map map = hazelcast.getMap("myMap");
就是这样。在这个例子中,我提供了默认配置,它使用Multicast来发现节点。您可以更新和更改任何参数。
有关详细信息,请参阅Quick Start Tutorial
答案 1 :(得分:1)
Ehcache中的复制功能不需要任何服务器。您只需将Ehcache jar添加到Web应用程序并配置Ehcache即可复制到所有群集节点。您可以选择是否使用多播自动发现所有GlassFish节点,也可以手动告知Ehcache在哪里查找其他节点。您可以在此处找到Ehcache复制配置说明:http://ehcache.org/documentation/replication/rmi-replicated-caching#configuring-the-peer-provider
Hazelcast的工作方式类似。请参阅此处获取文档:http://hazelcast.org/docs/3.0/manual/html/ch12s02.html