千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > mybatis二级缓存什么意思

mybatis二级缓存什么意思

来源:千锋教育
发布人:xqq
时间: 2023-11-30 21:20:39 1701350439

二级缓存简介

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

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

二级缓存什么时候存入

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

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

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

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

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

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

tags: IT培训
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT