首页后端开发其他后端知识mybatis一级缓存与二级缓存是啥意思,不同在哪?

mybatis一级缓存与二级缓存是啥意思,不同在哪?

时间2024-03-28 19:12:03发布访客分类其他后端知识浏览305
导读:这篇文章给大家分享的是mybatis一级缓存与二级缓存的相关内容。一些朋友不是很了解两者的区别,因此这篇就给大家来介绍一下。一般来说,Mabits默认开启一级缓存,而Mybatis默认是没有开启二级缓存的,接下来就跟随小编一起了解看看吧。...

这篇文章给大家分享的是mybatis一级缓存与二级缓存的相关内容。一些朋友不是很了解两者的区别,因此这篇就给大家来介绍一下。一般来说,Mabits默认开启一级缓存,而Mybatis默认是没有开启二级缓存的,接下来就跟随小编一起了解看看吧。

本文操作环境:Windows7系统,MyBatis 3.5.6版本,Dell G3电脑。

mybatis一级缓存和二级缓存的区别:

1)一级缓存 Mybatis的一级缓存是指SQLSession,一级缓存的作用域是SQlSession, Mabits默认开启一级缓存。 在同一个SqlSession中,执行相同的SQL查询时;第一次会去查询数据库,并写在缓存中,第二次会直接从缓存中取。 当执行SQL时候两次查询中间发生了增删改的操作,则SQLSession的缓存会被清空。

每次查询会先去缓存中找,如果找不到,再去数据库查询,然后把结果写到缓存中。 Mybatis的内部缓存使用一个HashMap,key为hashcode+statementId+sql语句。Value为查询出来的结果集映射成的java对象。 SqlSession执行insert、update、delete等操作commit后会清空该SQLSession缓存。

2)二级缓存 二级缓存是mapper级别的,Mybatis默认是没有开启二级缓存的。 第一次调用mapper下的SQL去查询用户的信息,查询到的信息会存放代该mapper对应的二级缓存区域。 第二次调用namespace下的mapper映射文件中,相同的sql去查询用户信息,会去对应的二级缓存内取结果。

现在大家对于mybatis一级缓存与二级缓存的区别应该都清楚了吧,希望大家阅读完这篇文章能有所收获。最后,想要了解更多mybatis缓存的内容,大家可以关注网络其它相关文章。

文本转载自PHP中文网

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: mybatis一级缓存与二级缓存是啥意思,不同在哪?
本文地址: https://pptw.com/jishu/655141.html
HTML中怎样实现网页音乐播放器功能 HTML设置表格大小的方法是什么

游客 回复需填写必要信息