将SQL语句,以及对应的查询结果存在服务器内存中,这一块内存存储区域,被我们称之为缓存。
如果之后再执行该同样的SQL语句,则直接从缓存中去取,不再去查询数据库,可减小数据库的访问压力。
缓存的核心使用思路
-
开启缓存
-
缓存的作用范围 缓存中的数据可以使用的范围
-
脏数据的处理
脏数据:缓存是数据库中热点数据的备份,当数据库中的热点数据发生变化时,缓存也要和数据库保持一致,否则相应的数据成为脏数据。
mybatis的缓存分成一级缓存和二级缓存
一级缓存也称之为SqlSession级别的缓存,默认开启,只一次查询有效,作用范围太小,意义不大。
脏数据的处理 :执行增删改有可能造成脏数据,一旦执行增删改立刻清空缓存。
二级缓存称之为SqlSessionFactory级别的缓存,
通常我们所说的缓存默认指的就是二级缓存。
二级缓存使用步骤
- 开启二级缓存 (如果和spring整合,默认已经开启)
若没有,要在mybatis-config.xml中配置一下信息:
- 在mapper文件增加 < cache/>
*Mapper.xml中配置:
只有添加了cache标签的mapper文件中的查询结果才会放置到对应的二级缓存中
-
将需要存储到缓存中的对