hibernate 分布式二级缓存选项

问题描述 投票:0回答:2

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

  • 带有 RMI 的 EhCache
  • EhCache 与 JGroups
  • 带有 Terracotta 的 EhCache
  • Gigaspaces 数据网格

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

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

java hibernate caching distributed-caching
2个回答
3
投票

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

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

要按时间间隔清理缓存,您可以实现 EhCache 的缓存扩展来清理缓存。我们做到了,效果很好。


3
投票

还可以查看 HazelcastCoherenceGemStone。这些是具有查询支持的分布式缓存解决方案。他们还有现成的 Hibernate 二级缓存插件。 Hazelcast 是开源的。

© www.soinside.com 2019 - 2024. All rights reserved.