在休眠已经有一级缓存可用于缓存,那么为什么我们必须使用二级缓存?为什么我们不能在Hibernate中只使用一级缓存进行缓存,而不是第二级?休眠缓存
Q
休眠缓存
1
A
回答
0
有关Hibernate缓存的详细说明,请参阅What are First and Second Level caching in Hibernate?。
基本上是:
- 一级高速缓存中加快更新单个会话/事务
- 二级缓存加速在许多交易中使用对象的检索。
这些是两种不同的使用情况,需要不同的需求,需要不同种类的逻辑。
0
一级高速缓存在会话级别工作,这意味着一个持久对象将被跟踪,直到当前Session被关闭。在关闭此会话之前对此对象所做的任何更改都会反映在数据库中。它默认启用。
二级缓存工作在SessionFactory级别,因此即使当前会话已关闭,也会跟踪对持久对象所做的所有更改。您必须手动启用它。有几个供应商提供这种功能,其中一些是ehCache,SwarmCache,OScache等。
0
Hibernate二级缓存是一个可选缓存,并且在尝试定位一个对象之前总是会查询一级缓存在二级缓存中。
它主要用于需要跨会话缓存对象的情况。
相关问题
- 1. 休眠:batch_size?二级缓存?
- 2. 休眠禁用缓存
- 3. 使用休眠缓存
- 4. 关于休眠缓存
- 5. infinispan休眠缓存驱逐
- 6. 与Echache +休眠缓存
- 7. 缓存集合休眠
- 8. 休眠缓存错误
- 9. 休眠缓存问题
- 10. 休眠二级缓存
- 11. 禁用休眠缓存
- 12. 休眠的Jboss缓存
- 13. 休眠二级缓存
- 14. 休眠集合缓存
- 15. 休眠缓存级别1
- 16. 休眠缓存问题?
- 17. 休眠:一级缓存
- 18. 休眠缓存保存什么?
- 19. 枚举值与休眠和缓存
- 20. Grails /休眠缓存不可预知
- 21. 基本休眠缓存问题
- 22. 查询缓存休眠加载实体
- 23. 使用休眠一级缓存
- 24. 奇怪的休眠缓存行为
- 25. 休眠二级缓存和关联
- 26. 一级休眠缓存,直接在DB
- 27. 设置休眠第二级缓存
- 28. 共享nHibernate和休眠二级缓存
- 29. 休眠:麻烦启用二级缓存
- 30. 休眠缓存不能用于RichFaces bean
@ user3898783 does [this](http://ankursinghal86.blogspot.jp/2014/07/how-hibernate-second-level-cache-works.html)帮助你 – 2014-11-18 13:12:29