栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis的一级缓存和二级缓存

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis的一级缓存和二级缓存

一级缓存:

一级缓存是sqlsession级别的通过通过同一个sqlsession查询数据才会被缓存,下次查询的时候会直接在缓存中获取。

一级缓存存在的问题:

1)不同的sqlsession对应不同的一级缓存

2)同一个sqlsession但是查询条件不同

3)同一个sqlsession两次查询期间有增删改的操作

4)同一个sqlsession两次查询期间手动清除了缓存

二级缓存:

二级缓存是sqlsessionFachtory级别的通过同一个sqlsessionFachtory创建的sqlsession的查询结果才会被缓存伺候如果在执行相同的查询语句的时候,才会在缓存中拿。

二级缓存的条件:

1)在核心配置文件中设置全局配置属性cacheEnabled="true"默认为true不需要设置

2)在映射文件中配置标签

3)二级缓存必须在sqlsession关闭或者提交之后才有效

4)查询数据所转换的实体类类型必须实现序列化的接口

二级缓存失效的情况:

两次查询之间执行了任意的增删改,可以使一级缓存和二级缓存同时失效。

执行的流程:

在我们没有提交或者关闭sqlsession的时候我们的的数据会被保存到一级缓存中,当我们关闭或者提交了数据后我们的数据才会保存到二级缓存中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号