资讯 更多 >>
MyBatis:MyBatis一二级缓存,你学...
全球视点!截至3月末 泉州市制造业...
万和泰国制造基地奠基,拟年产燃气...
2023年CFA报名需要的护照协助信息哪...
环球焦点!感冒流泪厉害怎么办_感冒...
大烨智能(300670.SZ)发布一季度业绩...
ST天圣:4月25日召开董事会会议
湖南师范大学附属小学简介_关于湖南...
环球视点!以美食为名、与楚味荆州...
泾阳县气象台发布大风蓝色预警【Ⅳ...
动态更多 >>
武汉市烟花爆竹燃放规定2023_全球速递
大金重工董秘回复:公司截至2023年1...
左江科技01月10日获深股通增持5.12万股
【当前热闻】百勤油服(02178)授出75...
目标规模50亿元!郑州市产业母基金...
郑州至比利时列日货航成功首航 每日焦点
京东金条延迟还款会上征信吗
世界关注:有意思小周刊(2023.01.0...
IPv6板块1月9日跌0.39%,东方通领跌...
中邮钱包网贷逾期51年会影响征信吗
会展 更多 >>
美籍酿酒师在崇礼:中国是第二故乡...
河南项城报告2名疑似新冠肺炎病例 ...
浙江绍兴确诊病例首次零新增 上虞...
广西东兴实行全员居家隔离 启动口...
新疆全方位推进乡村振兴 “富春山...
云南瑞丽市主城区全员核酸检测结果...
内蒙古满洲里累计治愈出院本土确诊...
孙海洋夫妻驱车山东阳谷:还在为孙...
大国工匠追梦“玉米强国”40载:用...
让南海“海洋热带雨林”斑斓多彩
专题报道 
当前位置: 资讯 > >> 正文
 
MyBatis:MyBatis一二级缓存,你学会了吗?_世界聚看点
来源:今日头条     时间:2023-04-27 09:32:02


(资料图)

一、一级缓存

1、在⼀个sqlSession中,对User表根据id进行两次查询,查看他们发出sql语句的情况。

2、同样是对user表进⾏两次查询,只不过两次查询之间进⾏了⼀次update操作。

3、总结

(1)第⼀次发起查询⽤户id为1的⽤户信息,先去找缓存中是否有id为1的⽤户信息,如果没有,从数据库查询⽤户信息。得到⽤户信息,将⽤户信息存储到⼀级缓存中。

(2)如果中间sqlSession去执⾏commit操作(执⾏插⼊、更新、删除),则会清空SqlSession中的⼀级缓存,这样做的目的为了让缓存中存储的是最新的信息,避免脏读。

(3)第⼆次发起查询用户id为1的⽤户信息,先去找缓存中是否有id为1的⽤户信息,缓存中有,直接从缓存中获取用户信息

二、⼆级缓存

⼆级缓存的原理和⼀级缓存原理一样,第⼀次查询,会将数据放⼊缓存中,然后第⼆次查询则会直接去缓存中取。

但是⼀级缓存是基于sqlSession的,⽽⼆级缓存是基于mapper⽂件的namespace的,也就

是说多个sqlSession可以共享⼀个mapper中的⼆级缓存区域,并且如果两个mapper的namespace相同,即使是两个mapper,那么这两个mapper中执⾏sql查询到的数据也将存在相同的⼆级缓存区域中。

关键词:

热门推荐
猜你喜欢