更新時間:2022-04-12 09:19:30 來源:動力節點 瀏覽741次
動力節點小編來告訴大家,Hibernate 二級緩存是 Hibernate 對象關系映射 (ORM) 庫中可用的數據緩存組件之一。Hibernate 是一種流行的 Java 語言 ORM 庫,它允許您將 Java 對象數據存儲在關系數據庫管理系統 (RDBMS) 中。
由于 Java 對象不會自然地與 RDBMS 的表/行/列對齊(這種現象稱為“阻抗不匹配”),Hibernate 充當翻譯層。使用 Hibernate,您可以通過提供從關系數據庫表、行、列和外鍵到帶注釋的 Java 類的映射機制,輕松快速地訪問關系數據。Hibernate 使用易于使用的語法生成 SQL 查詢,以基于 Java 面向對象的域模型查詢數據。
二級緩存是通過插入第三方緩存技術來實現的,擴展Hibernate內置的緩存能力。它用于克服一級緩存的限制,如下所述。
緩存是Hibernate 框架的優勢之一,它可以在多個級別上使用。
一級緩存是 Hibernate 檢查緩存數據的第一個地方。默認情況下,它是內置的并處于活動狀態,以減少直接對數據庫的 SQL 查詢數量。如果請求的查詢結果不在一級緩存中,則針對底層數據庫運行查詢(即,如果沒有啟用二級緩存)。此緩存僅在會話級別起作用,這意味著每個會話對象都獨立緩存數據,因此不會在會話之間共享緩存數據,并且在會話關閉時會刪除緩存數據。這使得緩存僅對同一會話中的重復查詢有用。對于跨多個會話的重復查詢,這就是二級緩存發揮作用的地方。
使用 Hibernate 二級緩存,您可以插入緩存技術來補充一級緩存。如果請求的查詢結果不在一級緩存中,則檢查二級緩存。二級緩存跨會話共享緩存數據,因此所有會話/用戶都可以從緩存數據中受益,即使對于由另一個會話插入的數據,即使將數據插入二級緩存的會話關閉。
二級緩存提高了使用同一會話工廠創建的所有會話的持久性方面的應用程序性能。使用二級緩存,即使請求是從多個會話執行的,緩存也可以為對象的請求提供服務,其延遲比請求發送到數據庫時低得多。考慮到 ORM 查詢可能很復雜,因此相對較慢,系統可以極大地受益于二級緩存,以減少對底層數據庫的相同復雜/慢查詢的重復。
這對于在對數據庫進行 SQL 查詢方面在用戶之間具有高度共性的大容量 Web 應用程序特別有用。并且通過高度可擴展的緩存,您可以緩存更多的數據并實現更多的性能加速。
任何支持與 Hibernate 開箱即用集成的技術都可以插入以充當二級緩存。內存數據網格通常用作 Hibernate 二級緩存。例如,Hazelcast IMDG 內置了與 Hibernate 的集成,可以輕松插入二級緩存。借助其分布式架構,您可以向集群添加更多節點,以盡可能多地增加緩存,以處理更重的工作負載。
通過以上介紹,相信大家對Hibernate二級緩存已經有了一定的認識,大家如果對此比較感興趣,想了解更多相關知識,不妨來關注一下動力節點的Hibernate視頻教程,里面的課程內容細致全面,由淺到深,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習