ehCache 2.x与3.x(用于复制的第二级缓存)

时间:2018-08-17 13:28:54

标签: hibernate replication ehcache second-level-cache

我正在寻找一种缓存解决方案,该解决方案使用Hibernate的第二级缓存提供对更改的自动复制。我的用例:不同的群集节点,每个节点在Hibernate的2级缓存中保存数据库信息。在通过实体管理器进行更新的情况下,应将更改复制到每个群集节点,以防止任何陈旧的数据。 我已经看到ehCache 2.x具有易于配置的复制方法(例如,通过JGroups)。不幸的是,ehCache 3.x不再支持复制。而是提供了Terracotta服务器的“即服务”缓存,该缓存无法在我的环境中使用。我还看到版本2.x和3.x并存了很长时间。即使我不确定是否应该使用2.x版的复制功能。

  • ehCache 2.x的复制功能是否还适合我的用例?
  • 有人知道将来是否会维护2.x版吗?它会被版本3.x弃用还是完全取代?

2 个答案:

答案 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取代。