hibernate(九)二級快取(ehcache)

2021-08-30 19:32:20 字數 2625 閱讀 8839

1、為什麼需要快取?

拉高程式的效能

關係型資料庫:資料與資料之間存在關係(聯絡)的資料庫 mysql/oracle、sqlserver

非關係型資料庫:資料與資料之間是不存在關係的,key-value

1、基於檔案儲存的資料庫:ehcache

2、基於記憶體儲存的資料庫:redis、memcache

3、基於文件儲存的資料庫:mongodb

2、 什麼樣的資料需要快取?

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

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

ehcache的特點:

1、夠快

ehcache的發行有一段時長了,經過幾年的努力和不計其數的效能測試,ehcache終被設計於large, high concurrency systems.

2、夠簡單

開發者提供的介面非常簡單明瞭,從ehcache的搭建到運用執行僅僅需要的是你寶貴的幾分鐘。其實很多開發者都不知道自己用在用ehcache,ehcache被廣泛的運用於其他的開源專案

3、夠袖珍

關於這點的特性,官方給了乙個很可愛的名字small foot print ,一般ehcache的發布版本不會到2m,v 2.2.3 才 668kb。

4、夠輕量

核心程式僅僅依賴slf4j這乙個包,沒有之一!

5、好擴充套件

ehcache提供了對大資料的記憶體和硬碟的儲存,最近版本允許多例項、儲存物件高靈活性、提供lru、lfu、fifo淘汰演算法,基礎屬性支援熱配置、支援的外掛程式多

6、***

快取管理器*** (cachemanagerlistener)和 快取***(cacheevenlistener),做一些統計或資料一致性廣播挺好用的

7、分布式快取

從ehcache 1.2開始,支援高效能的分布式快取,兼具靈活性和擴充套件性

ehcache的使用

2、核心介面

cachemanager:快取管理器

cache:快取物件,快取管理器內可以放置若干cache,存放資料的實質,所有cache都實現了ehcache介面

element:單條快取資料的組成單位

hibernate(5.2.12.final)中使用二級快取步驟(ehcache)

1、匯入ehcache相關依賴

2、src新增ehcache.xml

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

注1:查全部需要編寫**來開啟二級快取的

query.setcacheregion(「entity.dict」);//指定快取策略,名字必須實體類的完整類名

query.setcacheable(true);//手動開啟二級快取

抽象的日誌系統

1、匯入相關依賴

org.slf4j

slf4j-api

1.7.7

org.slf4j

jcl-over-slf4j

1.7.7

runtime

org.apache.logging.log4j

log4j-slf4j-impl

2.9.1

org.apache.logging.log4j

log4j-api

2.9.1

org.apache.logging.log4j

log4j-core

2.9.1

web工程需要包含log4j-web,非web工程不需要:

org.apache.logging.log4j

log4j-web

2.9.1

runtime

com.lmax

disruptor

3.2.0

2、src新增log4j2.xml

Hiberante 九 二級快取 自己加入快取

使用二級快取的步驟 1 hibernate並沒有提供相應的二級快取的元件,所以需要加入額外的二級快取包,常用的二級快取包是echcache 2 在hibernate.cfg.xml中配置開啟二級快取 true net.sf.ehcache.hibernate.ehcacheprovider org....

hibernate二級快取

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

hibernate 二級快取

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