java - 共享 nHibernate 和 hibernate 二级缓存

标签 java .net nhibernate hibernate orm

是否可以在 hibernate 和 nhibernate 解决方案之间共享二级缓存?我有一个环境,其中有运行 .net 的服务器和运行 java 的服务器,它们都访问同一个数据库。

他们访问的数据有一些重叠,因此共享二级缓存是可取的。可能吗?

如果这不可能,其他人提出了哪些解决方案?

最佳答案

There is some overlap in the data they access, so sharing a 2nd level cache would be desirable. Is it possible?

这需要(这很可能过于简单化了):

  1. 能够从 Java 和 .Net 访问缓存。
  2. 拥有针对 (N)Hibernate 的缓存提供程序实现。
  3. 能够以与两种语言兼容的格式读取/写入数据(或者共享缓存没有意义)。

这听起来可行但是:

  • 我不知道有现成的解决方案来实现这个(我的第一个想法是 Memcache,但 AFAIK Memcache 存储数据的序列化版本,所以这不符合要求 #3,这是最重要的).
  • 我想知道使用中性语言格式来存储数据是否会产生太多开销(并以某种方式破坏使用缓存的目的)。

If this is not possible, what are some of the solutions other have come up with?

我从来没有这样做过,但如果我们谈论的是读写缓存,并且如果您使用两个单独的缓存,则必须从 .Net 端和相反地使给定的 Java 缓存区域无效。您必须编写代码来处理它。

关于java - 共享 nHibernate 和 hibernate 二级缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3239216/

相关文章:

java - 如何添加两个图标到swing AbstractAction

Java Space Invader 子弹运动

c# - 必须在非泛型静态类中定义扩展方法

NHibernate:初始数据填充

c# - NH QueryOver 扩展 : How to merge member expression into another expression?

java - 小程序请求不延长 session 实时

java - Putextra 不断发送第一个输入的数据

.net - 单声道中的 P/调用

.net - 在单行中在 F# 中生成一系列点

nhibernate - NHibernate升级使用具有类型约束的方法破坏了EntityBase