Mybatis缓存

什么是缓存?
存在于内存中的临时数据。
为什么使用缓存?
减少和数据库的交互次数,提高执行效率。
什么样的数据能使用缓存,什么样的数据不能使用
适用于缓存:
经常查询并且不经常改变的。
数据的正确与否对最终结果影响不大的。
不适用于缓存:
经常改变的数据
数据 的正确与否对最终结果影响很大的。
例如:
商品的库存,银行的汇率,股市的牌价。

Mybatis中的一级缓存和二级缓存

一级缓存

是指Mybatis中SqlSession对象的缓存。
当我们执行查询之后,查询的结果会同时存入到SqlSession为我们提供的一块区域中。
该区域的结构是一个Map。当我们再次查询同样的数据,Mybatis会先去sqlSession中查询是否有,有的话直接拿来用。
当SqlSession对象消失时,Mybatis的一级缓存也就消失了。

// 第一次查询,缓存到一级缓存
// 第二次查询,直接读取一级缓存

执行结果:

可以看出结果中:
这两个对象是同一个,而且返回结果是true

全部评论

相关推荐

代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务