我正在为我的分布式应用程序服务器缓存sql结果。我发现ehcache和memcached是hibernate L2缓存的两个流行选项。似乎ehcache比memcached快得多,并且它具有更容易的操作优势(ehcache很好地支持集成到hibernate)。
但是,我关心的是如何为应用服务器群集设置ehcache并同步它们?看来ehcache集群支持不是开源的,而且非常昂贵。有没有办法在没有任何付款的情况下使用其群集应用服务器支持? 这是配置文档:http://ehcache.org/documentation/configuration/distributed-cache-configuration
hibernate查询缓存同样令人担忧。
有人有经验吗?
非常感谢!
答案 0 :(得分:1)
Ehcache提供免费群集,请参阅documentation related to replicated caching。
或者您可以自己实现复制(我已成功完成复制,实施正在实时企业系统中使用)。您需要的是实现CacheEventListener
和/或CacheEventListenerFactory
并在本地节点上侦听缓存刷新事件。如果条目被刷新,更新或删除,您需要将其传播到其他节点,以便它们不会提供过时的数据。