1.什麼事快取?
指為了降低應用程式對物理資料來源(mysql)訪問數次。從而提高應用程式的執行效能
2.為什麼需要快取?
orm框架--去訪問資料庫的速度,直接影響到程式的執行速度。所以優化orm訪問效率比較重要。
hibernate的快取是提公升和優化hibernate訪問效率。
3.快取工作原理?
4.一級快取?
session快取,會話快取。
2.通過session查詢資料庫時,查出資料儲存在記憶體中。下次查詢相同資料時,就可以直接在快取中讀取。
3.一級快取生命週期與session相同。session銷毀,一級快取也銷毀。
4.一級快取只適合當前連線之內。
5.一級快取api?
一級快取是無法取消,管理「」:
1.evict():實際就是指定要清除的物件。
2.clear():清除所有物件。
3.對程式的效能有一定的影響
6.二級快取?
1. 新增二級快取的jar包。
2. 在hibernate.cfg配置檔案中新增provider類的描述。
net.sf.ehcache.hibernate.ehcacheprovider
3.在實體對映檔案hbm.xml中新增 開啟
region:指定二級快取的網域名稱:
include:指定是否快取延遲載入,all表示快取所有物件,on-lazy表示不延遲載入
7.一級快取與二級快取區別?
二級快取:全域性快取,應用級快取。適用當前的所有會話,
什麼情況下適用二級快取?
很少被修改的資料。不是很重要的資料,允許偶爾併發的資料。不會被併發訪問的資料。參考資料
hibernate快取提高了查詢效率時,也增加了伺服器的消耗。注意快取的使用方式。
Hibernate一級快取 二級快取
快取就是把以前從資料庫中查詢出來和使用過的物件儲存在記憶體中,準確說就是乙個資料結構中,這個資料結構通常是或類似hashmap,當以後要使用某個物件時,先查詢快取中是否有這個物件,如果有則使用快取中的物件,如果沒有則去查詢資料庫,並將查詢出來的物件儲存在快取中,以便下次使用。1 快取的偽 dao r...
Hibernate一級,二級快取
一級快取 session級別的快取 當session被open時,快取即被open 當session被close時,快取即被close 在快取open到close這段時間,多次載入同乙個持久化物件,只有第一次向資料庫傳送sql語句載入,之後的載入都是基於快取的 而二級快取是sessionfactor...
Hibernate 一級 二級緩衝
hibernate緩衝按級別共分為兩種,一級緩衝 session 和二級緩衝 sessionfactory 有的也說是三種,還有一種是查詢緩衝,當然,查詢緩衝是依託於二級緩衝。ok,什麼是緩衝?在記憶體裡開闢一塊空間把本來應該存在硬碟裡面的資料,存在這個空間裡面,將來,需要這塊資料的時候直接在記憶體...