0、什么是缓存,为什么要使用缓存
每次查询建立sql连接是十分耗费资源的,为了提高性能,将之前查询到的数据暂存在内存当中,这样就可以使得查询的效率提高,这些存储在内存中的数据就称为缓存。一般不经常改动且访问频繁的数据建议使用缓存。mybatis包含一级缓存和二级缓存,而且使用起来都十分方便
1、一级缓存
也叫本地缓存。一级缓存是SqlSession级别的(详细一点说,一级缓存的“生命周期”在创建SqlSession实例与sqlSession.close()之间),mybatis默认配置了一级缓存,不需要手动配置。在某些情况下一级缓存会被清除(比如对表进行了更新)
2、二级缓存
这里官方文档进行了比较详尽 的介绍https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#cache。使用二级缓存只需要在XXXMapper.xml中加一个标签
<cache/>
可以对cache标签做一些设置,这个官方文档中也有详细介绍
就开启了二级缓存。建议再在项目配置文件中的settings标签中显示的将允许使用二级缓存设置为true,虽然默认本来就是true,可以提高可读性。
当然,也可以使用自定义缓存,用法官方文档也有介绍。