1>一級快取
在查詢的時候,每次都會先去session容器中找是否需要的物件,如果有,直接返回,不會與資料庫進行互動
如果session容器中沒有,session向資料庫中查詢,這時會與資料庫進行互動,傳送sql語句.
一級快取是session級別的快取。在運算元據庫時需要構造session物件,在物件中有乙個資料結構(hashmap)用於儲存快取資料。不同的session之間的快取資料區域(hashmap)是互相不影響的
hibernate的一級快取是預設開啟的(在沒有關閉session好clear的情況下) 適用範圍是session建立到session關閉.
2>二級快取
二級快取是sessionfactory級別的快取,多個session物件可以共享二級快取,二級快取是誇session的快取
使用的範圍是sessionfactory範圍.(建立sessionfactory的過程特別好資源,建議每個專案建議建立乙個sessionfactory,)
3>**快取
**快取是查詢快取,針對於hql的查詢功能,hql預設查詢出的物件不會被一級或二級快取.**快取的配置依賴於二級快取
hibernate快取,mybatis快取詳解
hibernate的快取有一級快取,二級快取,查詢快取。一級快取 很簡單,session級別的快取,通過get,update可以將物件放到一級快取中。二級快取 sessionfactory級別的快取,通過get,list可以將物件放到二級快取中,這裡我必須細講一下,list雖然能夠把物件放入二級快取...
hibernate的快取機制
快取是介於 應用程式和物理資料來源之間,其作用是為了降低應用程式對物理資料來源訪問的頻次,從而提高了應用的執行效能。快取內的資料是對物理資料來源中的資料的複製,應用程式在執行時從快取讀寫資料,在特定的時刻或事件會同步快取和物理資料來源的資料。快取的介質一般是記憶體,所以讀寫速度很快。但如果快取中存放...
Hibernate的快取機制
hibernate 所有快取機制詳解 hibernate 提供的一級快取 hibernate是乙個執行緒對應乙個session,乙個執行緒可以看成乙個使用者。也就是說session級快取 一級快取 只能給乙個執行緒用,別的執行緒用不了,一級快取就是和執行緒繫結了。hibernate一級快取生命週期很...