hibernate分布式二级缓存选项

时间:2010-05-28 09:51:38

标签: java hibernate caching distributed-caching

这不是一个问题,但我正在寻找有使用以下一项或多项经验的人的意见/建议:

  • 带有RMI的EhCache
  • EhCache with JGroups
  • EhCache with Terracotta
  • Gigaspaces Data Grid

一些背景知识:我们的应用程序只读取大部分内容,但有些用户数据是可读写的,有些只是写入(也可能是合理的不准确)。此外,如果有工具可以让我们每隔一段时间或通过管理员干预来刷新和填充缓存,那将会很不错。

关于第一个选项 - 是否有关于RMI开销和Java序列化性能的担忧?

2 个答案:

答案 0 :(得分:3)

同时查看HazelcastCoherenceGemStone。这些是具有Query支持的分布式缓存解决方案。它们还有用于Hibernate的现成的二级缓存插件。 Hazelcast是开源的。

答案 1 :(得分:2)

我从3年前开始使用EhCache进行Hibernate和应用程序级缓存。 我们将它与RMI一起用于缓存失效,它确实很好用。如果您使用缓存进行复制,那么您应该关注对象图,它可能会因高基数关系而变得非常沉重。

如果你使用EhCache进行Hibernate,你可以将它用于查询缓存(这是对只读表的一个很好的改进),并且表被修改它会自动清理缓存。 使用EhCache缓存集合也是一个好主意,以避免加入子选择。

要按时间间隔清理缓存,可以实现清除缓存的EhCache缓存扩展。我们做得很好。

此致   乔纳森。