全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

MyBatis的一级缓存什么意思

发布时间:2023-11-30 21:37:19
发布人:xqq

一级缓存的介绍

一级缓存的范围是sqlsession级别,同一个sqlsession执行同一个sql查询(相同的sql和参数),第一次会去查询数据库并写到缓存中,第二次从一级缓存中取。

一级缓存是基于PerpetualCache的HashMap本地缓存,默认开启一级缓存。

什么时候清除一级缓存

如果中间的sqlSession去执行提交操作(执行插入、更新、删除),会清除SqlSession中的一级缓存,这样做的目的是让缓存存储最新的信息,避免脏读。

如果执行commit、close、add、delete、update等操作,当前的一级缓存就会被清空;当对SqlSession执行更新操作(更新、删除、插入)后再执行commit,不仅自身的一级缓存会被清空(执行更新操作的效果),而且二级缓存也会被清空(执行commit()的效果)。

一级缓存没有过期时间,只有一个生命周期

当MyBatis打开一个数据库会话时,它会创建一个新的SqlSession对象,它有一个Executor对象,Executor对象持有一个PerpetualCache对象,见下面的代码。当会话结束时,SqlSession对象及其内部的Executor对象和PerpetualCache对象也被一起释放。

IT培训

相关文章

嵌入式培训课程:探索技术的无限可能

嵌入式培训课程:探索技术的无限可能

2023-12-12
web前端培训:vue实现双向数据绑定原理

web前端培训:vue实现双向数据绑定原理

2023-12-12
嵌入式开发:Linux系统编程的探索与实践

嵌入式开发:Linux系统编程的探索与实践

2023-12-12
Web前端:探索Web前端开发技术的新领域

Web前端:探索Web前端开发技术的新领域

2023-12-12

最新文章

python培训学校靠谱吗?为什么一定要选择千锋教育

python培训学校靠谱吗?为什么一定要选择千锋教育

2023-12-13
培训学校学java靠谱吗?为什么一定要选择千锋教育

培训学校学java靠谱吗?为什么一定要选择千锋教育

2023-12-13
网络安全哪个培训机构靠谱

网络安全哪个培训机构靠谱

2023-12-13
python培训机构可靠吗?为什么一定要选择千锋教育

python培训机构可靠吗?为什么一定要选择千锋教育

2023-12-13
在线咨询 免费试学 教程领取