全国旗舰校区

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

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

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

mybatis二级缓存什么意思

发布时间:2023-11-30 21:20:39
发布人:xqq

二级缓存简介

它指的是Mybatis中SqlSessionFactory对象的缓存。由同一个SqlSessionFactory对象创建的SqlSession共享其缓存。

二级缓存是一个Mapper映射级别的缓存,多个SqlSession对同一个Mapper映射的sql语句进行操作,多个SqlSession可以共享二级缓存,二级缓存是交叉SqlSession。

二级缓存什么时候存入

sqlsession关闭(close)后,sqlsession的一级缓存中的数据将被添加到命名空间的二级缓存中。

打开二级缓存后,还需要对缓存中的pojo实现Serializable接口,才能取出缓存中的数据进行反序列化操作,因为二级缓存的数据存储介质是多样的,不一定只存在于内存中,可能存在于硬盘中。

3. 二级缓存有过期时间,但没有后台线程来检测它

需要注意的是,不是键值的过期时间,而是这个缓存的过期时间,也就是flushInterval,意味着整个缓存的缓存被清空,所以不需要后台线程定时检测。

每当数据被访问时,就会检查缓存的生存时间,默认是1小时,如果缓存已经生存了1小时,那么整个缓存就会被清空。

4. 当Mybatis调用Dao层查询数据库时,它首先查询二级缓存,该缓存没有相应的数据,然后查询一级缓存,该缓存也没有数据,最后到数据库中去找。

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
在线咨询 免费试学 教程领取