13、缓存(Cache)
13.1、简介
1、什么是缓存【Cache】?
- 将在内存中的临时数据。
- 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从数据库里面查了,从而提高了查询效率
2.为什么使用缓存?
- 减少和数据库的交互次数,减少系统开销,提高系统效率
3.什么样的数据库能使用缓存?
- 经常查询并且不经常改变的数据。
13.2、Mybatis缓存
- Mybatis包含一个非常强大的查询缓存特性,它可以非常方便的定制和配置缓存。缓存可以极大的提高查询效率
- Mybatis系统中默认定义了二级缓存:一级缓存和二级缓存
- 默认情况下,只有一级缓存开启
- 二级缓存需要手动开启和配置,他是基于namespace基本的缓存
- 为了提高扩展性,Mybatis定义了缓存接口Cache。我们可以通过实现Cache接口来定义二级缓存
13.3、一级缓存
- 一级缓存也叫做本地缓存:
- 与数据库同一次会话期间查询到的数据会放在本地缓存中
- 以后如果需要获取相同的数据,直接从缓存中拿,没必须再去查询数据库;
13.4、二级缓存
步骤:
1.开启全局缓存
<!--显示开启缓存-->
<setting name="cacheEnabled" value="true"></setting>
2.在要使用二级缓存的Mapper中开启
<cache></cache>
也可以自定义参数
<cache
eviction="FIFO"
flushInterval="60000"
size="512"
readOnly="true"/>
13.5、缓存原理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3BLOR6vD-1591098664797)(Mybatis.assets/image-20200602192251085.png)]