面试官:说说 MyBatis 二级缓存?关联刷新实现?我懵B了。。

本文深入解析MyBatis的一级和二级缓存机制,教你如何在实际项目中利用它们提高查询效率。一级缓存针对事务内的重复查询,二级缓存则适用于不同SqlSession间的共享。务必了解何时启用并避免更新导致缓存失效。
摘要由CSDN通过智能技术生成

fa0b089a9ade66aab1367e22359cef8b.png

若有收获,请记得分享和转发哦

1、MyBatis缓存介绍

Mybatis提供对缓存的支持,但是在没有配置的默认情况下,它只开启一级缓存,二级缓存需要手动开启。

一级缓存只是相对于同一个SqlSession而言。 也就是针对于同一事务,多次执行同一Mapper的相同查询方法,第一查询后,MyBatis会将查询结果放入缓存,在中间不涉及相应Mapper的数据更新(Insert,Update和Delete)操作的情况下,后续的查询将会从缓存中获取,而不会查询数据库。

二级缓存是针对于应用级别的缓存,也就是针对不同的SqlSession做到缓存。 当开启二级缓存时,MyBatis会将首次查询结果存入对于Mapper的全局缓存,如果中间不执行该Mapper的数据更新操作,那么后续的相同查询都将会从缓存中获取。

823371d4cb751868f53f2e24867cc3bb.png

7df23aa60a3ad7d3fc1d36d6dea8c101.png

7e4e6b4973111c4f939cef0be9898173.png

8249cdea94c12475d38a88ad1fca1d92.png

9b4bd08f67f20246adb7c6a607dee616.png

b1c1206a8f9de6a184c15a36e8ba16c6.png

a6a5eae6c56a9d94ce90c552fe9ddfd7.png

59c5e2ae4290b2c4b290a2dd31e05f97.png

93299b5169d36639f20a92da1f3d6d52.png

7c9504ff2d6d46055837042efa142a03.png

013b4c581fb646e2b286f5330bc8ed67.png

72fdf7318bab7703a666029af4fe43d3.png

fac549aa204e20b20c3375d8876aa258.png

bcb5a68d751dcf6bb0a3837585003a6e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值