Yur*_*nov 2 hibernate second-level-cache
Q1:我是对的,只有这些供应商支持集群上的Hibernate L2缓存吗?
Q2:Hibernate L2缓存有什么替代品吗?(也许有些DB缓存?)
KLE*_*KLE 10
Q1.EhCache可以很好地分发Hibernate L2 Cache.我们正在将此用于我们的项目.
Q2.几个缓存是可能的.
但是,数据库缓存的问题在于它在物理上位于数据库服务器上,因此每个查询都涉及网络调用(延迟,带宽...).这就是应用服务器上缓存的重点.
在分布式上下文中,这通常转化为在修改其中一个实体时使类别无效,这对我们来说在功能上是合乎逻辑的(对性能至关重要,否则我们将不得不使所有这些实体无效;这是因为缓存使整个区域或特定对象无效,但在两者之间必须循环,这对性能不利)
和其他人我敢肯定......
所以这种情况与数据库无关,它通常不存储我们的Hibernate实体.我们将其放在业务层(而不是数据访问或Daos)中,使其直接可用于业务代码.请注意,对于我们来说,它不是透明缓存,而是对显式业务服务的调用(负责此缓存:如果数据不存在则加载它,根据需要使其无效)执行操作或传递值.
这个缓存中一个有趣的线程问题:因为我们的百个Web线程访问了这个缓存,所以它需要是线程安全的.您可能知道为什么线程安全值在每次调用时都是不可变的或克隆的(这通常是性能问题).因此,我们所有的业务缓存都使用不可变对象,性能也很好.
| 归档时间: |
|
| 查看次数: |
7724 次 |
| 最近记录: |