課程
/后端開發
/Java
/Hibernate緩存策略
二級緩存在開發項目中應用多嗎?
2017-02-21
源自:Hibernate緩存策略 5-1
正在回答
1.什么是緩存?:并不是指計算機的內存或者CPU的一二級緩存
緩存是指為了降低應用程序對物理數據源訪問的頻次,從而提高應用程序的運行性能的一種策略
2.為什么使用緩存?
ORM框架訪問數據庫的效率直接影響應用程序的運行速度,提升和優化ORM框架的執行效率至關重要。
Hibernate的緩存是提升和優化Hibernate執行效率的重要手段,所有學會Hibernate緩存的使用和配置是優化的關鍵。
3.緩存的工作原理
1.Hibernate一級緩存又稱為“Session緩存”、“會話級緩存”。
2.通過Session從數據庫查詢實體時會把實體在內存中存儲起來,下一次查詢同一實體時不再從數據庫獲取,而從內存中獲取,這就是緩存。
3.一級緩存的生命周期和Session相同;Session銷毀,它就銷毀。
4.一級緩存中的數據可適用范圍在當前會話之內。
一級緩存無法取消,用二個方法管理。
evict():用于將某個對象從session的一級緩存中清除
clear():用于將一級緩存中的所有對象全部清除
用法:
一級緩存也有些時候會對程序的性能產生影響
二級緩存又稱為“全局緩存”、“應用級緩存”
二級緩存中的數據可適用范圍是當前應用的所有會話
二級緩存是可插拔式緩存,默認是EHCache,還支持其他二級緩存組件如:Hashtable、OSCache、SwarmCache、JBoss TreeCache等
1.添加二級緩存對應的jar包
ehcache.jar.zip
2.在hibernate的配置文件中添加Privider類的描述
3.添加二級緩存的屬性配置
hibernate.cfg.xml中
4.在需要被緩存的表所對應的映射文件中添加<cache/>標簽
<cache/>標簽的詳細介紹:
usage:指定緩存策略,可選的策略包括:transactional,read-write,nonstrict-read-write或read-only(只讀)
region:指定二級緩沖區域名
include:指定是否緩存延遲加載的對象;all,表示緩存所有對象;non-lazy,表示不緩存延遲加載的對象
在通常情況下會將具有以下特征的數據放入到二級緩存中
很少被修改的數據。
不是很重要的數據,允許出現偶爾并發的數據。
不會被高并發訪問的數據。
參考數據。
Hibernate的緩存能提高檢索效率
Hibernate的緩存分為一級緩存和二級緩存。一級緩存是會話級緩存,二級緩存是應用級緩存。
Hibernate的緩存在提高檢索的同時,也會增加服務器的消耗,所有要注意緩存的使用策略。
這位同學啊,這不好說啊,因為在spring中提供了hibernate相關的封裝,也能實現持久化數據,在有些方面可能spring比hibernate的效果更好,況且這些框架也不是用了就一定好,用這些框架有時候也要謹慎,像前段時間的struts漏洞,就是一個例子,其實這個東西不能特定說用的多不多,要看公司的業務,以及東西對這些框架的偏愛,有的公司可能就用的比較多,但是有的公司就比較少
舉報
本教程主要介紹Hibernate中緩存的原理、分類和使用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-06-18
hibernate的緩存策略
1.什么是緩存?:并不是指計算機的內存或者CPU的一二級緩存
緩存是指為了降低應用程序對物理數據源訪問的頻次,從而提高應用程序的運行性能的一種策略
2.為什么使用緩存?
ORM框架訪問數據庫的效率直接影響應用程序的運行速度,提升和優化ORM框架的執行效率至關重要。
Hibernate的緩存是提升和優化Hibernate執行效率的重要手段,所有學會Hibernate緩存的使用和配置是優化的關鍵。
3.緩存的工作原理
一級緩存
1.Hibernate一級緩存又稱為“Session緩存”、“會話級緩存”。
2.通過Session從數據庫查詢實體時會把實體在內存中存儲起來,下一次查詢同一實體時不再從數據庫獲取,而從內存中獲取,這就是緩存。
3.一級緩存的生命周期和Session相同;Session銷毀,它就銷毀。
4.一級緩存中的數據可適用范圍在當前會話之內。
一級緩存的API的API
一級緩存無法取消,用二個方法管理。
evict():用于將某個對象從session的一級緩存中清除
clear():用于將一級緩存中的所有對象全部清除
用法:
一級緩存也有些時候會對程序的性能產生影響
二級緩存
二級緩存又稱為“全局緩存”、“應用級緩存”
二級緩存中的數據可適用范圍是當前應用的所有會話
二級緩存是可插拔式緩存,默認是EHCache,還支持其他二級緩存組件如:Hashtable、OSCache、SwarmCache、JBoss TreeCache等
二級緩存的配置步驟
1.添加二級緩存對應的jar包
ehcache.jar.zip
2.在hibernate的配置文件中添加Privider類的描述
3.添加二級緩存的屬性配置
hibernate.cfg.xml中
4.在需要被緩存的表所對應的映射文件中添加<cache/>標簽
<cache/>標簽的詳細介紹:
usage:指定緩存策略,可選的策略包括:transactional,read-write,nonstrict-read-write或read-only(只讀)
region:指定二級緩沖區域名
include:指定是否緩存延遲加載的對象;all,表示緩存所有對象;non-lazy,表示不緩存延遲加載的對象
總結:
在通常情況下會將具有以下特征的數據放入到二級緩存中
很少被修改的數據。
不是很重要的數據,允許出現偶爾并發的數據。
不會被高并發訪問的數據。
參考數據。
Hibernate的緩存能提高檢索效率
Hibernate的緩存分為一級緩存和二級緩存。一級緩存是會話級緩存,二級緩存是應用級緩存。
Hibernate的緩存在提高檢索的同時,也會增加服務器的消耗,所有要注意緩存的使用策略。
2017-03-05
這位同學啊,這不好說啊,因為在spring中提供了hibernate相關的封裝,也能實現持久化數據,在有些方面可能spring比hibernate的效果更好,況且這些框架也不是用了就一定好,用這些框架有時候也要謹慎,像前段時間的struts漏洞,就是一個例子,其實這個東西不能特定說用的多不多,要看公司的業務,以及東西對這些框架的偏愛,有的公司可能就用的比較多,但是有的公司就比較少