1. 程式人生 > >MyBatis 一級緩存和二級緩存及ehcache整合

MyBatis 一級緩存和二級緩存及ehcache整合

sql ESS jar tis alt 技術分享 sources 為什麽 圖片

一級緩存

什麽是緩存??

  緩存是存儲在內存(cache)中的數據,一般情況都存在內存,在內存數據存儲滿了,會存儲到硬盤上(disk),或是在我們進行一些操作和配置也可以把緩存存儲到磁盤中。

緩存的作用是什麽??

  緩存的作用可以減輕數據庫的壓力,減少用戶對數據庫的訪問,可以說用戶對數據庫進行的重復操作在緩存中就可以實現操作,提高用戶體驗。

下面這張圖是緩存的理解圖

技術分享圖片

曾刪改會對緩存造成影響。

寫個測試,測試一下緩存是否存在: 答案是肯定的

技術分享圖片

現在測試一下進行曾刪改數據,是否會對緩存造成影響?

技術分享圖片

二級緩存

二級緩存和一級緩存的區別, 一級緩存是存儲在SqlSession作用域中生命周期是整個會話是進程級別的,二級緩存是可以跨進程的,實現數據共享。作用域是Mapper。

緩存的底層其實是個Map集合,key用於存儲SQLId和sql,value存儲的是sql的引用。

技術分享圖片

二級緩存默認是開啟的,在大配置中,但是開啟二級緩存要有三個要素。

二級緩存的開啟方式:  1.在大配置中的setting設置二級緩存  2.在小配置中寫cache自閉和標簽  3.實體類繼承Serializable

技術分享圖片

技術分享圖片

技術分享圖片

二級緩存的作用比一級緩存大,二級緩存並不是在一個會話中起作用,將一個會話結束,開啟另一個會話二級緩存是否會起作用

技術分享圖片

ehcache緩存的配置

為什麽要配置ehcache?

  因為ehcache是專註緩存這塊的,比mybatis自身的要快捷方便很多,因為mybatis註重的是框架。

1.在resources下技術分享圖片可以上網查一下這個文件

2.在小配置中增加一條技術分享圖片type寫的是你ehcache的全路徑

3.在項目的pom.xml引入ehcahce的jar包技術分享圖片

MyBatis 一級緩存和二級緩存及ehcache整合