hibernate的二級快取

2021-08-30 22:06:27 字數 673 閱讀 1090

hibernate中應用快取:因為應用程式訪問資料庫,讀寫資料的代價非常高,而利用持久層的快取可以減少應用程式與資料庫之間的互動,即把訪問過的資料儲存到快取中,應用程式再次訪問已經訪問過的資料,這些資料就可以從快取中獲取,而不必再從資料庫中獲取。同時如果資料庫中的資料被修改或者刪除,那麼是、該資料所對應的快取資料,也會被同步修改或刪除,進而保持快取資料的一致性。

hibernate的二級快取由sessionfactory物件管理,是應用級別的快取。它可以快取整個應用的持久化物件,所以又稱為「sessionfactory快取」。

什麼樣的資料需要快取?

很少被修改或根本不改的資料。

業務場景比如:耗時較高的統計分析sql、**賬單查詢sql等

二級快取:

sessionfactory

可拔插式

1.匯入ehcache相關依賴

org.hibernate

hibernate-ehcache

5.2.12.final

2.src新增ehcache.xml

3 .hibernate.cfg.xml中新增二級快取相關配置

true

true

org.hibernate.cache.ehcache.ehcacheregionfactory

4 指定實體類開啟二級快取

hibernate二級快取

cacheconcurrencystrategy.none cacheconcurrencystrategy.read only 唯讀模式,在此模式下,如果對資料進行更新操作,會有異常 cacheconcurrencystrategy.read write 讀寫模式在更新快取的時候會把快取裡面的資料...

hibernate 二級快取

session快取 一級快取 sql查詢結果快取,由hibernate管理 sessionfactory內建快取,內建快取是hibernate自帶的,用於存放預定義的sql以及hbm.xml描述的元資料,不可解除安裝 sessionfactory外接快取 二級快取 由外部外掛程式提供,外接快取的資料...

Hibernate二級快取

hibernate的session在事務級別進行持久化資料的快取操作。當然,也有可能分別為每個類 或集合 配置集群 或jvm級別 sessionfactory級別 的快取。你甚至可以為之插入乙個集群的快取。注意,快取永遠不知道其他應用程式對持久化倉庫 資料庫 可能進行的修改 即使可以將快取資料設定為...