Hibernate 中一級快取和二級快取的區別
Hibernate 支援兩種型別的快取,一種是一級快取,另一種是二級快取。
一級快取是會話級快取,它始終與會話級物件相關聯。這種型別的快取用於透過快取物件的狀態來最大程度地減少資料庫互動。也就是說,它不是在事務中每次修改後都更新,而是在事務結束時才更新事務。
二級快取是會話工廠級快取,它在所有會話中都可用。在執行事務時,它會在會話工廠級別載入物件,以便這些物件對整個應用程式可用,而不侷限於單個使用者。預設情況下,它在 Hibernate 中是停用的。
序號 | 關鍵點 | 一級快取 | 二級快取 |
---|---|---|---|
1 | 基礎 | 一級快取是會話級快取,它始終與會話級物件相關聯 | 二級快取是會話工廠級快取,它在所有會話中都可用 |
2 | 啟用 | 預設啟用。 | 預設不啟用。 |
3 | 可用性 | 對單個會話可用 | 在所有會話中都可用。 |
4 | 配置 | 不需要額外配置 | 我們需要決定使用哪種併發策略,還需要配置快取過期和物理快取屬性。 |
廣告