當前位置:成語大全網 - 書法字典 - hibernate中的二級緩存是什麽?

hibernate中的二級緩存是什麽?

第壹級緩存是會話級緩存,屬於事務範圍,由Hibernate管理,壹般不幹預。二級緩存是SessionFactory級緩存,屬於進程範圍。

有兩種類型的二級緩存。

內置緩存:Hibernate自帶,不能卸載。通常在Hibernate的初始化階段,Hibernate會把映射元數據和預定義的SQL語句放到SessionFactory的緩存中。內置緩存是只讀的。

外部緩存:二級緩存也稱為外部緩存。默認情況下,SessionFactory不會啟用此緩存插件。外部緩存中的數據是數據庫數據的副本,外部緩存的物理介質可以是內存或硬盤。

hibernate二級緩存的結構

2.並發訪問策略

事務性的

(交易)

僅適用於托管環境。

提供可重復的讀取事務隔離級別

適用於經常讀取且很少修改的數據。

可以防止臟讀取和不可重復讀取的並發問題。

緩存支持事務,並且在發生異常時可以回滾。

讀寫

(讀寫類型)

提供讀提交事務隔離級別。

適用於非集群環境。

適用於經常讀取且很少修改的數據。

可以防止不良閱讀

更新緩存將鎖定緩存中的數據。

非嚴格讀寫

(不嚴格讀寫)

它適用於很少修改的數據,偶爾允許臟讀(兩個事務同時修改數據的情況很少見)

緩存和數據庫中數據的壹致性無法得到保證。

為緩存數據設置壹個較短的過期時間,以盡可能避免臟讀。

不要鎖定緩存中的數據

只讀

(只讀)

應用永不修改的數據(如引用數據)

在這種模式下,如果數據被更新,就會出現異常。

低事務隔離級別和高並發性能。

它在集群環境中也能很好地工作。

分析:通過上表分析如下。

適於放入二級高速緩存數據

很少修改。

不是很重要的數據,偶爾會出現並發問題。

不適合二級緩存的數據。

經常修改。

財務數據,絕對不存在並發問題。

與其他應用程序數據共享的數據* * *