MyBatis缓存
来源:互联网 发布:秦风拍牌软件 编辑:程序博客网 时间:2024/05/21 18:33
MyBatis 缓存分为 一级缓存 和二级缓存
一级缓存 sqlsession,在SqlSession中有一个数据区域就是MAP 结构
Key :SQL 语句 条件 statement 等信息组成。
value:查询结果
一级缓存工作原理
把查询过的数据保存在sqlsession的缓存区中,当执行了增,删,改的时候提交COMMIT 。才会去缓存区中去清理 缓存。
查询的时候先去缓存区中查看,如果数据不存在就去数据库拿。
二级缓存 就是同一个namespace下的mapper。二级缓存中也是一个MAP结构这个区域就是一级缓存。不过二级缓存是跨sqlsession 级别的。默认是不开启的,如果开启需要在Mapper中使用 <cache>。
缓存是把数据保存到内存中,但是数据越来越大达到内存顶峰 就需要把内存中 的数据持久化到本地中。所以二级缓存的vo类 需要实现序列化接口。
1:在总的配置文件中开启二级缓存总开关
<settings>
<!-- 二级缓存的总开关 -->
<setting name="cacheEnabled" value="true"/>
</settings>
2:在需要呗缓存的mapper文件中 使用<!-- 二级缓存 -->
<cache></cache> 标签
总结:1级缓存就是在当前sqlsession 中缓存起来 close的时候又释放掉了。
2级缓存就是在sqlsession 被close的时候把数据保存到系统的一个大MAP中。
- MyBatis-缓存
- MyBatis 缓存
- mybatis缓存
- mybatis缓存
- MyBatis 缓存
- mybatis 缓存
- mybatis缓存
- MyBatis缓存
- MyBatis缓存
- MyBatis 缓存
- mybatis 缓存
- Mybatis缓存
- mybatis 缓存
- Mybatis缓存
- MyBatis 缓存
- mybatis缓存
- MyBatis缓存
- Mybatis缓存
- string类
- 在代码段中使用数据(0601)
- Opencv 和 c++ 框出图片中的目标
- leetcode 504. Base 7 python
- 保镖(hall定理&&集合动规&&优化)
- MyBatis缓存
- PAT (Advanced Level) 1004. Counting Leaves (30)
- 受限制玻尔兹曼机RBM原理简介
- 斐波那契字符串
- 4.从头到尾打印链表
- 使用R语言的dplyr包进行数据预处理
- opencv ml模块 SVM使用笔记
- jquery触发键盘按下事件
- 线程安全问题