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級別 的快取。你甚至可以為之插入乙個集群的快取。注意,快取永遠不知道其他應用程式對持久化倉庫 資料庫 可能進行的修改 即使可以將快取資料設定為...