MyBatis:查询缓存关联及一级缓存

MyBatis:查询缓存关联及一级缓存

缓存工作原理

查询缓存介绍:

我们查询通过网络连接数据库服务器,会受网络带宽的限制,所以我们在应用服务器的内存中开辟块空间,即缓存空间,里面盛放的是多个查询结果。

缓存工作原理:执行查询时,先到缓存中查看有没有,如果有直接返回,没有再去DB中查询,查到的结果先给缓存,再给sql。

MyBatis查询缓存分类:

(1)、一级缓存(Sqlsession缓存):其默认是开启的,无法关闭,作用范围为namespace,生命周期同整个SqlSession相同

(2)、二级缓存:默认关闭,若使用必须开启,作用范围同一级缓存,但是生命周期和整个应用相同


一级缓存:

底层原理:一级缓存的底层实现是一个map,其value是查询结果,而key由三部分构成(hashcode+statementId+SQL语句)。每次select先到缓存中查找key,有则读取value并返回,没有去DB中查找,找到先组建后放到map中。

增删改对一级缓存影响:会刷新(清空)一级缓存【因为数据库修改了,若不刷新会拿到脏数据】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值