是否可以在 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?
这需要(这很可能过于简单化了):
- 能够从 Java 和 .Net 访问缓存。
- 拥有针对 (N)Hibernate 的缓存提供程序实现。
- 能够以与两种语言兼容的格式读取/写入数据(或者共享缓存没有意义)。
这听起来可行但是:
- 我不知道有现成的解决方案来实现这个(我的第一个想法是 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/