【问题标题】:ehCache 2.x vs. 3.x for replicated 2nd level cacheehCache 2.x 与 3.x 用于复制的二级缓存
【发布时间】:2023-04-02 11:35:01
【问题描述】:

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

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

【问题讨论】:

    标签: hibernate replication ehcache second-level-cache


    【解决方案1】:

    是的,Ehcache 2.x 应该涵盖您的用例。

    不,以后不会维护。它现在几乎没有维护。它确实会被 Ehcache 3.x 取代。

    【讨论】:

    • 谢谢。我正在寻找未来的安全解决方案。所以,ehCache 2.x 是不可能的。
    【解决方案2】:

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-23
      • 2012-12-12
      • 1970-01-01
      • 2014-06-21
      • 2020-02-28
      • 2013-07-01
      • 2014-11-10
      相关资源
      最近更新 更多