当前位置: 首页 > 知识库问答 >
问题:

共享infinispan 2LC缓存

郎祯
2023-03-14

我有两个应用程序使用相同的数据库实体。这两个应用程序都部署在jboss eap 6.2独立的集群上。DB表仅从一个应用程序中更新,但从两个应用程序中读取。这两个应用程序都使用本机hibernate API从数据库读取/写入数据。

嵌入式模式下将infinispan启用为2LC后,如何确保在一个应用程序中更新的缓存实体从第二个应用程序缓存中失效?是否有任何JMX/JMS接口用于信号缓存失效?

若我选择远程缓存模式并启动infinispan作为热棒服务器,那个么缓存服务器可以与这两个应用程序共享。但是,我需要更新代码来使用热棒客户端API从缓存中查询实体吗?如果从应用程序更新实体,它还会自动更新/使缓存无效。

共有1个答案

王叶五
2023-03-14

不支持此操作。Hibernate没有远程二级缓存Infinispan实现。嵌入式实现使用与仅嵌入式功能的深度集成,因此它是不可互换的。

如果使用embedded,每个应用程序都会获得自己的缓存,这些缓存不能共享,因为每个应用程序都是一个单独的类加载器。因此,类加载器X中的实体A不能与类加载器Y中的实体A一起读取。

如果您真的想要一个共享缓存,没有什么能阻止您自己做这件事,通过将数据添加到远程Infinispan服务器。

 类似资料:
  • 我有一个Spring应用程序,它使用MyBatis进行持久化。我使用ehcache是因为速度对于这个应用程序很重要。我已经设置并配置了MyBatis和Ehcache。我使用一个名为“mybatis”的单一缓存,因为否则为每个实体创建单独的缓存将是荒谬的。 这是我的电子缓存。xml。 这是我的mybatis映射器界面的一个示例。 因为我有一个共享缓存,所以我需要一种方法使我的密钥对域对象是唯一的。作

  • 我正在使用WildFly 8.1,所以JPA 2.1和Hibernate 4.3.5 我想在WildFly中使用JPA共享缓存/二级缓存 我遵循WildFly文档:https://docs.jboss.org/author/display/WFLY8/JPA参考指南#使用InfinispanSecondlevelCache的JPA参考指南 这是我的persitience.xml: 我将属性设置为h

  • 问题内容: 我正在尝试EXPLAIN命令,并试图找出它是什么。 我注意到,共享的匹配数越多,我们执行查询的速度就越快。那是什么 据我了解,它只是从诸如或的物理存储中读取。但是为什么更快呢?它存储在RAM内还是在哪里? 问题答案: 本质上意味着该值已经被缓存在计算机的主存储器中,而不必从硬盘读取该值。 访问主内存(RAM) 的 速度比从硬盘读取值快得多。这就是为什么查询的点击次数越多,查询速度就越快

  • 我很想知道Hibernate二级缓存是否可以在运行在两个不同JVM上的两个不同Hibernate会话之间共享。 我正在使用Hibernate 3.1和Ehcache来提供二级缓存,并且在Ehcache中。xml配置文件我们可以指定在磁盘上创建缓存的位置 因此,如果我现在在不同的JVM中打开两个不同的Hibernate会话,它们都指向同一个JVM,那么这将允许我在两个JVM之间共享二级缓存。 如果是

  • 遵循本课程https://www.pluralsight.com/courses/angular-2-getting-started和github材料产品。服务试图避免调用http。每次单击链接时都会请求get()。我认为每次加载文件而不是将其保存为内存中的对象是一种很大的浪费。 正在尝试替换此代码: 用这个: 如果被低估,则永远不应调用此行 但它被称为!!!! 在镀铬控制台中: 最后一行不应该出

  • 我们正在使用.NET的StackExchange Redis客户端。 PS:我们尝试使用廉价的250GB(共享基础设施),但性能非常慢。读操作在600-800ms之间是一致的。不加载(对于一个~300KB的对象)。升级到专用的1GB服务将其更改为30-40毫秒。在这里查看更多:带有Azure Redis的StackExchange.Redis速度慢或引发超时错误