Q1:
我对,只有这些供应商支持群集上的Hibernate L2缓存吗?
Q2:
Hibernate L2缓存是否有其他选择? (也许一些数据库缓存?)
最佳答案
Q1。 EhCache与分布式的Hibernate L2 Cache配合得很好。
我们正在将其用于我们的项目。
Q2。可能有几个缓存。
但是,数据库的问题
缓存是它在物理上
数据库服务器,因此每个查询
涉及网络通话(延迟,
bandwith ..)。这就是重点
应用程序上的缓存数量
服务器。
在分布式环境中,这通常
转化为使
当他们的其中一个
实体被修改,这在功能上
对我们来说合乎逻辑(对
性能,否则我们会
必须使所有这些无效
实体;这是因为缓存
使整个区域无效,或
具体对象,但在
之间必须循环这对性能不利)
还有其他我肯定...
因此,这种情况与数据库没有密切关系,它通常不存储我们的Hibernate实体。我们将其放在业务层(而不是数据访问或Daos)中,使其直接可用于业务代码。请注意,对我们来说,它不是透明的缓存,而是对执行操作或传递值的显式业务服务(对此高速缓存负责:如果不存在数据则加载它,根据需要使之无效)的调用。
这个缓存中一个有趣的线程问题:因为我们的数百个Web线程都可以访问该缓存,所以它必须是线程安全的。您可能知道为什么线程安全值在每次调用时都是不变的或克隆的(通常是性能问题)。因此,我们所有的业务缓存都使用不可变的对象,并且性能非常好。
关于hibernate - 集群上的Hibernate L2缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1339684/