Mybatis中的缓存相关简介说明
下文笔者讲述Mybatis缓存的相关简介说明,如下所示
缓存简介
在mybatis中将数据存储到内存中 这种操作,我们称之为“缓存”
mybatis使用缓存的优点
使用缓存可减少同数据库的通信次数 提高程序的效率,减少系统的开销
适用缓存的场景
适用于缓存: 常查询并且不经常改变的并且数据的对错对业务影响不大 不适用于缓存: 经常变动的数据,数据对错对系统的影响非常大 如:商品库存、银行汇率、股市牌价-这种数据绝对不能缓存
Mybatis中一级缓存和二级缓存简介
一级缓存
指Mybatis中SqlSession对象的缓存 当我们执行查询之后,查询结果会同时存入到SqlSeesion为我们提供一块区域中 该区域的结构是一个Map。 当我们再次查询同样的数据,Mybatis会先去sqlseesion中查询是否存在,如果存在,则直接使用, 当SqlSeesion对象消失时,Mybatis的一级缓存随即消失 一级缓存是SqlSession范围的缓存 当调用SqlSession的修改,添加,删除,commit(),close(),等方法时,都会清空一些缓存
二级缓存
二级缓存: 是mapper级别的缓存 多个SqlSession去操作同一个Mapper的sql语句 多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession UserMapper有一个二级缓存区域(按namespace分) 其它mapper也有自己的二级缓存区域(按namespace分) 每一个namespace的mapper都有一个二级缓存区域, 当两个mapper的namespace如果相同,这两个mapper执行sql查询到数据将存在相同的二级缓存区域中。
二级缓存
指Mybatis中SqlSession中SqlSessionFactory对象的缓存 由同一个SqlSessionFactory对象创建的SqlSession共享其缓存
二级缓存的使用步骤
步骤1: 让Mybatis框架支持二级缓存(在SqlMapConfig.xml中配置) 步骤2: 让当前的映射文件支持二级缓存(在IUserDao.xml中配置) 步骤3: 让当前的操作支持二级缓存(在select标签中配置)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。