二刷Mybatis(十二)缓存Cache

本文详细介绍了Mybatis的缓存机制,包括一级缓存的默认开启与清理,二级缓存的配置与使用,以及自定义缓存如EhCache的了解。强调了缓存减少数据库访问的重要性,并给出了不同缓存级别的使用场景和清理策略。同时,讨论了在频繁查询情况下如何通过设置useCache避免过多缓存。
摘要由CSDN通过智能技术生成

每次连接数据池,会消耗一定的资源,缓存就可以临时保存一些读取信息,减少访问频次。

在这里插入图片描述

缓存的内存也不是无线多的,有一定的容量需要及时清理,清理的方案有4种

在这里插入图片描述

1 一级缓存

  • 默认开启的,存在于一个sqlSession的区间段内,不需要手动设置
  • 但是为了代码规范,需要在xml文档说明

在这里插入图片描述

案例一:查询时候的缓存

在这里插入图片描述

案例二:增删改操作,改变了原来的数据,会刷新缓存!

在这里插入图片描述
在这里插入图片描述

案例三:手动清理缓存 sqlsession.clearCache()

在这里插入图片描述

2 二级缓存

理解
在这里插入图片描述
使用手册
在这里插入图片描述
还可以自己设置更详细的参数

如果查询得太频繁了,可以设置useCache=false
(只有查询有useCache)

在这里插入图片描述

案例一

无二级缓存

创建两个SqlSession

在这里插入图片描述
在这里插入图片描述

有二级缓存

在这里插入图片描述
在这里插入图片描述

只要开启了二级缓存,在同一个Mapper下都可以用
在这里插入图片描述

常见问题

如果二级缓存不带参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 缓存原理

人设计Mybatis缓存时候的思路:缓存顺序

  • 第一次查数据库,之后放在一级缓存内
  • 一级缓存关闭后,暂时存到二级缓存内

Mybatis钢框架调用缓存的原理:缓存顺序

  • 先查看二级缓存是否有资源
  • 再查看一级缓存是否有资源
  • 最后再从数据库里检查资源

在这里插入图片描述

4 自定义缓存 ehCache

2022年,缓存大多使用redis,这个了解即可

5 SUM

完结?(差一次对Mybatis的SqlSession原理梳理)

对于缓存想要进移步另一篇理解
单击同一专栏下深入理解缓存原理文章.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值