SSM框架day02-MyBatis——056——查询缓存管理-基本知识、057 查询缓存管理-一级缓存、058 查询缓存管理-二级缓存

一、查询缓存管理-基本知识:

1.查询缓存工作原理
        查询语句<-->缓存<-->DB

2.查询缓存中的缓存内容
        MyBatis查询缓存中存放的是“查询结果”

3.缓存分类
        MyBatis查询缓存根据作用范围与生命周期的不同,可以分为两类:
        1)一级缓存,也称为SqlSession缓存  默认是开启的,无法关闭
        2)二级缓存,默认是关闭的,若要使用,必须开启
                可以分为两类:
                1> 内置二级缓存
                2>外置第三方缓存产品
        
        类别                       作用范围                        生命周期
        一级缓存               namespace            与SqlSession的生命周期相同
        二级缓存               namespace              与整个应用的生命周期相同

二、查询缓存管理-一级缓存

(1)

一级缓存中存放的不是查询出的对象本身
一级缓存的底层实现是一个Map
key:hashCode + statementId + SQL语句

value:查询结果

(2)增删改操作会刷新一级缓存(清空一级缓存)

(3)验证:

    1)修改映射文件

SSM框架day02-MyBatis——056——查询缓存管理-基本知识、057 查询缓存管理-一级缓存、058 查询缓存管理-二级缓存

    2)修改日志文件

SSM框架day02-MyBatis——056——查询缓存管理-基本知识、057 查询缓存管理-一级缓存、058 查询缓存管理-二级缓存

    3)定义接口实现方法

SSM框架day02-MyBatis——056——查询缓存管理-基本知识、057 查询缓存管理-一级缓存、058 查询缓存管理-二级缓存

    4)修改测试类

SSM框架day02-MyBatis——056——查询缓存管理-基本知识、057 查询缓存管理-一级缓存、058 查询缓存管理-二级缓存

三、查询缓存管理-二级缓存

内置二级查询缓存:

1.内置二级缓存开启方式分为两步
        1)在映射文件中添加<cache/>标签
        2)操作的实体类要实现Serializable接口
SSM框架day02-MyBatis——056——查询缓存管理-基本知识、057 查询缓存管理-一级缓存、058 查询缓存管理-二级缓存