Hibernate分布式二级缓存选项

np8igboo  于 2023-03-03  发布在  其他
关注(0)|答案(2)|浏览(159)

这不是一个真正的问题,但我希望从任何人谁使用以下一个或多个经验的意见/建议:

  • 带RMI的EhCache
  • 带JGroups的EhCache
  • EhCache与赤土
  • 千兆空间数据网格

一点背景知识:我们的应用程序大部分是只读的,但也有一些用户数据是读写的,还有一些是只写的(也可能是相当不准确的)。此外,如果有工具使我们能够定期或通过管理员干预刷新和填充缓存,那就太好了。
关于第一个选项--是否有关于RMI开销和Java序列化性能的顾虑?

ckx4rj1h

ckx4rj1h1#

我从3年前就开始使用EhCache for Hibernate和应用级缓存了。我们将它与RMI一起用于缓存失效,效果非常好。如果您该高速缓存用于复制,您应该注意对象图,它可能会因为高基数关系而变得非常繁重。
如果你在Hibernate中使用EhCache,你可以用它来缓存查询(这是对只读表的一个很好的改进),如果表被修改了,它会自动清理该高速缓存。使用EhCache来缓存集合也是一个好主意,以避免连接和子选择。
要按时间间隔清理缓存,可以实现EhCache的缓存扩展来清理缓存。我们做到了,效果很好。

wwtsj6pe

wwtsj6pe2#

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

相关问题