自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MyBatis學(xué)習(xí):MyBatis中的一級(jí)緩存

存儲(chǔ) 存儲(chǔ)軟件
一級(jí)緩存是SqlSession級(jí)別的緩存。在操作數(shù)據(jù)庫時(shí)需要構(gòu)造sqlSession對(duì)象,在對(duì)象中有一個(gè)數(shù)據(jù)結(jié)構(gòu)(HashMap)用于存儲(chǔ)緩存數(shù)據(jù)。

 [[272077]]

緩存的作用是減輕數(shù)據(jù)庫的壓力,提高數(shù)據(jù)庫的性能的。mybatis中提供了一級(jí)緩存和二級(jí)緩存,先來看一下兩個(gè)緩存的示意圖:

 

從圖中可以看出:

一級(jí)緩存是SqlSession級(jí)別的緩存。在操作數(shù)據(jù)庫時(shí)需要構(gòu)造sqlSession對(duì)象,在對(duì)象中有一個(gè)數(shù)據(jù)結(jié)構(gòu)(HashMap)用于存儲(chǔ)緩存數(shù)據(jù)。不同的sqlSession之間的緩存數(shù)據(jù)區(qū)域(HashMap)是互相不影響的。

二級(jí)緩存是mapper級(jí)別的緩存,多個(gè)SqlSession去操作同一個(gè)Mapper的sql語句,多個(gè)SqlSession可以共用二級(jí)緩存,二級(jí)緩存是跨SqlSession的。

我們來看下一級(jí)緩存的工作原理:

 

從圖中可以看出:第一次發(fā)起查詢用戶id為1的用戶信息,先去找緩存中是否有id為1的用戶信息,如果沒有,從數(shù)據(jù)庫查詢用戶信息。得到用戶信息,將用戶信息存儲(chǔ)到一級(jí)緩存中。

如果中間sqlSession去執(zhí)行commit操作(執(zhí)行插入、更新、刪除),則會(huì)清空SqlSession中的一級(jí)緩存,這樣做的目的為了讓緩存中存儲(chǔ)的是最新的信息,避免臟讀。

第二次發(fā)起查詢用戶id為1的用戶信息,先去找緩存中是否有id為1的用戶信息,緩存中有,直接從緩存中獲取用戶信息。mybatis的一級(jí)緩存比較簡單,我們不知不覺中就在用了,我寫一個(gè)測試代碼來測一下:

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2023-04-27 08:18:10

MyBatis緩存存儲(chǔ)

2009-09-25 16:29:32

Hibernate一級(jí)

2009-09-23 09:37:07

Hibernate緩存

2022-10-20 18:00:00

MyBatis緩存類型

2025-01-02 14:50:34

MyBatis開發(fā)緩存

2023-09-12 14:56:13

MyBatis緩存機(jī)制

2009-08-13 17:50:49

Hibernate 3

2022-08-31 09:47:38

ORM緩存持久化

2024-12-23 06:40:00

2009-09-21 17:09:38

Hibernate C

2023-04-28 08:30:56

MyBatis架構(gòu)API

2021-08-11 10:00:51

緩存MyBatis管理

2019-08-21 14:34:41

2021-09-03 06:46:34

MyBatis緩存后端

2020-11-09 10:16:41

Mybatis

2024-12-20 16:49:15

MyBatis開發(fā)代碼

2024-12-24 08:23:31

2020-02-13 10:54:29

源碼模式Mybatis

2021-09-26 05:02:00

緩存Ehcache用法

2021-02-01 10:07:14

中芯國際美國預(yù)托證券
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)