目录
1、什么是缓存
- 存储在内存当中的数据
- 将用户常使用的数据存放在缓存(内存)当中,用户查询数据就不用从磁盘(关系型数据库文件)当中查询,从缓存当中查询,从而提高查询效率,解决了高并发系统的性能问题
2、为什么使用缓存
- 减少和数据库的交互次数,减少系统开销,提高系统效率
3、什么样的数据能使用缓存
- 经常查询并且不常改变的数据
4、Mybatis缓存
- mybatis包含了一个非常强大的查询缓存特性,他可以非常方便的定制和配置缓存。缓存可以极大的提高查询的效率
- mybatis系统当中默认定义了两级缓存:一级缓存和二级缓存
- 默认情况之下,只有一级缓存开启(sqlSession级别的缓存)
- 二级缓存需要手动开启配置,需要局域namespace级别的缓存
一级缓存和二级缓存
1.一级缓存
1.一级缓存也叫本地缓存
-
- 与数据库同一次会话期间查询到的数据会放入的本地缓存当中。
- 如果以后需要获取相同的数据直接去缓存当中拿,没必要再去查询数据库
2、缓存失效的情况
- sqlSession不同
- sqlSession相同,查询条件不同
- sqlSession相同,两次查询之间执行了增删改操作!
- sqlSession相同,手动清除一级缓存
3.二级缓存
MyBatis的二级缓存非常强大,它不同于一级缓存只存在于 SqlSession 的生命周期中,而是可以理解为存在于 SqlSessionFactory 的生命周期中。
增删改没啥必要开二级缓存 一般都是查询
1. 在SqlMapConfig.xml配置文件中开启二级缓存
. 2、在UserDao.xml配置文件声明使用二级缓存.
3.参数的具体细节