休眠快取的詳細配置

發布 數碼 2024-03-31
5個回答
  1. 匿名使用者2024-02-07

    Hibernate 應用快取:由於應用訪問資料庫,讀寫資料的成本非常高,使用持久層快取可以減少應用與資料庫的互動,即訪問到的資料儲存在快取中,應用再次訪問訪問的資料,可以從快取而不是資料庫中獲取資料。

    同時,如果對資料庫中的資料進行修改或刪除,也會同步修改或刪除與資料對應的快取資料,以保持快取資料的一致性。 Hibernate 的二級快取由 SessionFactory 物件管理,是應用程式級快取。 它快取整個應用程式的永續性物件,因此也稱為“sessionfactory 快取”。

    Hibernate 提供了兩級快取,第一級快取是會話級快取,也就是事務範圍的快取。 此級別的快取由 Hibernate 管理,通常不需要干預; 快取的第二級是 sessionfactory 級快取,它是程序範圍或集群範圍的快取。 可以配置和更改此級別的快取,並且可以動態載入和解除安裝。

    Hibernate 還為查詢結果提供了乙個查詢快取,它依賴於二級快取。

    使用快取是優化應用系統效能的重要手段。 正確使用快取可以大大提高應用系統的執行效率。

    Hibernate L2 快取中的快取物件可以由整個應用程式的會話物件共享,即使當前會話物件已關閉,新建立的會話物件仍然可以使用。 使用 Hibernate 的 L2 快取查詢資料後,會話物件將首先在快取中查詢快取的資料命中。 如果沒有,請查詢二級快取。

    如果有,將直接返回命中資料; 否則,請查詢資料庫。

  2. 匿名使用者2024-02-06

    當你使用Hibernate的內建方法查詢資料時,會自動儲存在一級快取中,如果接下來的SQL語句和上次一樣,資料會直接從快取中取出,資料庫不會被查詢。

  3. 匿名使用者2024-02-05

    快取的第一級是會話級快取,它是由 Hibernate 管理的事務範圍快取,通常不需要干預。 第二級快取是 sessionfactory 級快取,它是程序範圍的快取。

    還有兩種型別的 L2 快取。

    內建快取:Hibernate 自帶,無法解除安裝,通常在 Hibernate 的初始化階段,Hibernate 會將對映元資料和預定義的 SQL 語句放入 SessionFactory 的快取中。 內建快取是唯讀的。

    外部快取:二級快取通常是外部快取,在 sessionfactory 中預設不啟用,外部快取中的資料是資料庫資料的副本,外部快取的物理介質可以是記憶體或硬碟。

    Hibernate L2 快取的結構。

    2.併發訪問策略。

    transactional

    Transactional) 僅在託管環境中可用。

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

    適用於經常讀取且很少修改的資料。

    它可以防止髒讀和不可重複讀的併發問題。

    快取支援事務,如果發生異常,也可以回滾快取。

    read-write

    read-write EC) 提供讀取提交事務隔離級別。

    適用於非集群環境。

    適用於經常讀取且很少修改的資料。

    可以防止髒讀。

    更新快取時,快取中的資料將被鎖定。

    nonstrict-read-write

    非嚴格讀寫型別)。

    適用於很少修改的資料,偶爾允許髒讀(兩個事務同時修改資料的情況很少見)。

    不保證快取和資料庫中資料的一致性。

    為快取資料設定較短的過期時間,以最大程度地減少髒讀取。

    快取中的資料未鎖定。

    read-only

    唯讀)適用於永遠不會修改的資料(如參考資料)

    在此模式下,如果資料更新,則會出現異常。

    事務隔離級別低,併發效能高。

    在集群環境中完美執行。

    分析:通過以上**分析如下。

    非常適合將資料放置在 L2 快取中。

    它很少被修改。

    不是很重要的資料,偶爾會出現併發問題。

    不適合放置在 L2 快取中的資料。

    經常修改。

    財務資料,絕對沒有併發問題的餘地。

    與其他應用資料共享的資料。

  4. 匿名使用者2024-02-04

    主要有兩大類,1)乙個整體使用的地方,比如設定資料庫使用者名稱、密碼、常量、對映檔案位置等,整個休眠專案只能使用乙個檔案;

    2)每個實體對映都有乙個***檔案,即實體對映檔案,它寫入了資料庫和實體類的對映配置,包括關係對映或繼承對映等;例如,實體類使用此對映檔案; 因此,休眠專案往往具有多個配置檔案。 但是,這些配置也可以以實體類中的注釋形式編寫。

    Hibernate 支援標準的 JPA 注釋。

  5. 匿名使用者2024-02-03

    通過 require 和 session 實現 L1 和 L2 快取。 SessionFactory 實現了額外的快取。

相關回答
11個回答2024-03-31

tom'S Hardware**做了乙個非常有意義的測試,它告訴我們8M和16M快取硬碟之間的效能差異,並告訴我們16M快取是否值得。 >>>More

9個回答2024-03-31

中央處理器: Intel Core i5 2300 1100

主機板:微星H61M-E33(B3)599 >>>More

16個回答2024-03-31

是給小孩子看的嗎? 直接蒸就可以了,

19個回答2024-03-31

我也是水瓶座,所以咱們簡單說說我的感受 我在網上查過水瓶座和雙子座是最好的搭配,而且我和雙子座的男人相處得並不融洽,不過據說雙子座的男人有些心,呵呵。 >>>More

6個回答2024-03-31

快取是硬碟控制器上的一種儲存晶元,具有極快的訪問速度,它充當硬碟內部儲存和外部介面之間的緩衝器。 由於硬碟的內部資料傳輸速度與外部介面傳輸速度不同,因此快取充當緩衝區。 快取的大小和速度是直接關係到硬碟傳輸速度的重要因素,可以大大提高硬碟的整體效能。 >>>More