我正在寻找一种缓存解决方案,该解决方案使用Hibernate的第二级缓存提供对更改的自动复制。我的用例:不同的群集节点,每个节点在Hibernate的2级缓存中保存数据库信息。在通过实体管理器进行更新的情况下,应将更改复制到每个群集节点,以防止任何陈旧的数据。 我已经看到ehCache 2.x具有易于配置的复制方法(例如,通过JGroups)。不幸的是,ehCache 3.x不再支持复制。而是提供了Terracotta服务器的“即服务”缓存,该缓存无法在我的环境中使用。我还看到版本2.x和3.x并存了很长时间。即使我不确定是否应该使用2.x版的复制功能。
答案 0 :(得分:1)
Infinispan 2LC提供程序在这种对等模式下工作(而不是在服务器中存储数据)。过去曾考虑过选择服务器模式,但到目前为止,这不值得投资,因为任何缓存查询都需要进行网络往返。
尽管将来Ehcache可能会通过JCache API集成到Hibernate,但Infinispan提供了本机(因此性能更高)集成。这是与Hibernate ORM 5.3集成的Maven坐标:
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-hibernate-cache-v53</artifactId>
<version>9.3.1.Final</version>
</dependency>
如果您与Hibernate 5.1集成,请使用infinispan-hibernate-cache-v51
工件。 5.2支持(infinispan-hibernate-cache
-是的,没有后缀)已经删除,最新版本是9.2.5.Final。
答案 1 :(得分:0)
是的,Ehcache 2.x应该可以涵盖您的用例。
不,将来不会保留。现在几乎没有维护。实际上,它将被Ehcache 3.x取代。