在休眠已經有一級緩存可用於緩存,那麼爲什麼我們必須使用二級緩存?爲什麼我們不能在Hibernate中只使用一級緩存進行緩存,而不是第二級?休眠緩存
Q
休眠緩存
1
A
回答
0
有關Hibernate緩存的詳細說明,請參閱What are First and Second Level caching in Hibernate?。
基本上是:
- 一級高速緩存中加快更新單個會話/事務
- 二級緩存加速在許多交易中使用對象的檢索。
這些是兩種不同的使用情況,需要不同的需求,需要不同種類的邏輯。
0
一級高速緩存在會話級別工作,這意味着一個持久對象將被跟蹤,直到當前Session被關閉。在關閉此會話之前對此對象所做的任何更改都會反映在數據庫中。它默認啓用。
二級緩存工作在SessionFactory級別,因此即使當前會話已關閉,也會跟蹤對持久對象所做的所有更改。您必須手動啓用它。有幾個供應商提供這種功能,其中一些是ehCache,SwarmCache,OScache等。
0
Hibernate二級緩存是一個可選緩存,並且在嘗試定位一個對象之前總是會查詢一級緩存在二級緩存中。
它主要用於需要跨會話緩存對象的情況。
相關問題
- 1. 休眠緩存錯誤
- 2. 緩存集合休眠
- 3. 休眠二級緩存
- 4. 關於休眠緩存
- 5. 休眠:batch_size?二級緩存?
- 6. 休眠緩存級別1
- 7. 使用休眠緩存
- 8. 休眠集合緩存
- 9. 與Echache +休眠緩存
- 10. 休眠:一級緩存
- 11. 休眠緩存保存什麼?
- 12. 休眠Infinispan實體/查詢緩存
- 13. 休眠二級緩存的性能ehcache
- 14. 基本休眠緩存問題
- 15. 在事務中繞過休眠緩存
- 16. 共享nHibernate和休眠二級緩存
- 17. 無法清除休眠緩存
- 18. 休眠緩存不能用於RichFaces bean
- 19. 休眠二級緩存,一對多
- 20. 使用休眠一級緩存
- 21. 休眠第一級高速緩存
- 22. 如何解決休眠緩存異常
- 23. Grails /休眠緩存不可預知
- 24. 休眠+ EhCache,不斷丟失緩存
- 25. 一級休眠緩存,直接在DB
- 26. 枚舉值與休眠和緩存
- 27. 如何禁用休眠緩存
- 28. 休眠二級緩存問題
- 29. 新手休眠一級緩存混淆
- 30. 休眠緩存鎖定錯誤
@ user3898783 does [this](http://ankursinghal86.blogspot.jp/2014/07/how-hibernate-second-level-cache-works.html)幫助你 – 2014-11-18 13:12:29