MyBatis的一级缓存和二级缓存有什么区别(浅谈)?

一级缓存:存在于同一个SqlSession生命周期中,在同一个SqlSession中,MyBatis会把执行的方法,SQL语句和参数通过算法生成缓存的值,将键值和结果放在一个Map中;

不同的SqlSession 之间的缓存是相互隔离的;

同一个SqlSession中,可以通过配置使得在查询前清空缓存,任何的修改,删除,插入语句都会清空缓存。

二级缓存:存在同一个SqlSessionFactory生命周期中;

缓存是以namespace为单位的,不同的namespace的操作互不影响,更新时会刷新缓存,同样以namespace为单位更新;

使用场合是在查询频率很高,并且更新频率低的情况下使用;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值