当前位置: 代码迷 >> 综合 >> SSM框架day02-MyBatis——056——查询缓存管理-基本知识、057 查询缓存管理-一级缓存、058 查询缓存管理-二级缓存
  详细解决方案

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

热度:19   发布时间:2023-12-21 03:03:04.0
一、查询缓存管理-基本知识:

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

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

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

类别                       作用范围                        生命周期
一级缓存               namespace            与SqlSession的生命周期相同
二级缓存               namespace              与整个应用的生命周期相同

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

(1)

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

value:查询结果

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

(3)验证:

    1)修改映射文件


    2)修改日志文件


    3)定义接口实现方法

    4)修改测试类


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

内置二级查询缓存:

1.内置二级缓存开启方式分为两步
1)在映射文件中添加<cache/>标签
2)操作的实体类要实现Serializable接口

  相关解决方案