1

谁能提示我如何为 Hibernate 配置 SwarmCache 以在集群中工作(分布式缓存)?可能还有其他选择(请不要建议 JBoss Cache)?

4

1 回答 1

2

实际上,我不知道为什么 Hibernate 文档(请参阅19.2. The Second Level Cache)没有提到它们是集群安全的,但OSCacheEHCache都可以在集群环境中使用。可能是因为 Hibernate 没有正式支持它们。尽管如此,我知道两者都可以在分布式环境中工作,因为我是使用 EHCache 完成的,而 Matt Raible 是使用 OSCache 完成的(不过建议修补休眠)。查看 Matt 的博文 OSCache vs. EhCache for Hibernate's 2nd Level Cache,内容非常丰富。

现在回到你的问题......很难给你一个准确的答案,因为你没有提供太多关于你的要求和限制的细节,但考虑到:

  • JGroups 是用于可靠多播通信的工具包(请注意,这并不一定意味着 IP 多播,JGroups 还可以使用 TCP 等传输)。
  • 我对前一点的理解是,并没有真正排除使用JBoss Cache (有关 JGroups 版本,请参阅此矩阵)。所以这是一个选择。
  • SwarmCache似乎已死(自 2003 年 11 月以来零活动!)并且在 Internet 上没有太多可用资源,我不会使用它。
  • OSCache (invalidating) 支持 JGroups 和 JMS 作为广播协议。这是一种选择。
  • EHCache 支持 Terracotta、RMI、JGroups、JMS、Cache Server 作为分发机制,同时支持失效和复制。这是一种选择。

现在,没有更多细节(复制与失效?你需要什么缓存并发策略支持?你有什么限制?),我不能再说什么了。

于 2010-01-17T03:08:25.187 回答