MyBatis 缓存详解-什么时候开启二级缓存?
一级缓存默认是打开的,二级缓存需要配置才可以开启。那么我们必须思考一个问题,在什么情况下才有必要去开启二级缓存?
1、因为所有的增删改都会刷新二级缓存,导致二级缓存失效,所以适合在查询为主的应用中使用,比如历史交易、历史订单的查询。否则缓存就失去了意义。
2、如果多个namespace 中有针对于同一个表的操作,比如Blog 表,如果在一个namespace 中刷新了缓存,另一个namespace 中没有刷新,就会出现读到脏数据的情况。所以,推荐在一个Mapper 里面只操作单表的情况使用。
思考:如果要让多个namespace 共享一个二级缓存,应该怎么做?
跨namespace 的缓存共享的问题,可以使用<cache-ref>来解决:
<cache-ref namespace="com.leon.crud.dao.DepartmentMapper" />
cache-ref 代表引用别的命名空间的Cache 配置,两个命名空间的操作使用的是同一个Cache。在关联的表比较少,或者按照业务可以对表进行分组的时候可以使用。
注意:在这种情况下,多个Mapper 的操作都会引起缓存刷新,缓存的意义已经不大了。
MyBatis 缓存详解-什么时候开启二级缓存?相关推荐
- .net html5页面缓存,详解HTML5中的manifest缓存使用
起源html5之前的网页,都是无连接,必须联网才能访问,这其实也是web的特色,这其实对于PC是时代问题并不大,但到了移动互联网时代,设备终端位置不再固定,依赖无线信号,网络的可靠性变得降低,比如坐在 ...
- Mybatis二级缓存详解
Mybatis二级缓存 Mybatis相关全览 一.简介 二.一级缓存 1.入口 2.演示 案例一: 案例二: 3.总结 三.二级缓存 1.入口 2.如何开启二级缓存 cache-ref配置 cach ...
- MyBatis 一级缓存二级缓存详解
相关内容: 架构师系列内容:架构师学习笔记(持续更新) MyBatis 缓存详解 cache 缓存 缓存是一般的ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力.跟Hibernat ...
- MyBatis 缓存详解-二级缓存介绍
二级缓存是用来解决一级缓存不能跨会话共享的问题的,范围是namespace 级别的,可以被多个SqlSession 共享(只要是同一个接口里面的相同方法,都可以共享),生命周期和应用同步. 思考一个问 ...
- Mybatis的一级缓存和二级缓存详解
注:本笔记是根据尚硅谷的MyBatis视频记录的 对于任何一个持久层框架,都有缓存机制:缓存在电脑中有一块真实的存储空间(https://baike.baidu.com/item/%E7%BC%93% ...
- MyBatis中一级缓存和二级缓存详解
缓存的作用 首先缓存的合理使用是优化中最常见的,将从数据库中查询出来的数据放入缓存中,下次使用时不必从数据库查询,而是直接从缓存中读取,避免频繁操作数据库,减轻数据的压力,同时提高系统性能. 为什么需 ...
- MyBatis 缓存详解-二级缓存验证
(验证二级缓存需要先开启二级缓存) 1.事务不提交,二级缓存不存在 BlogMapper mapper1 = session1.getMapper(BlogMapper.class); System. ...
- Mybatis中的缓存详解
本文来说下Mybatis中的缓存 文章目录 Mybatis是什么 Mybatis的一级缓存 Mybatis的二级缓存 本文小结 Mybatis是什么 Mybatis是一个半自动 ORM(对象关系映射) ...
- mybatis开启二级缓存和懒加载,类型别名,类都简称
SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE conf ...
最新文章
- Java 之String、StringBuffer 和 StringBuilder 三者区别介绍
- 图说子图同构算法——VF2算法(一)
- 信息安全系统设计基础第三周学习总结
- Android之Handler有感(二)
- [转]为什么我们不用软件工程?软件工程能帮多大忙?
- GTC CHINA 2019 | 黄仁勋发表主题演讲,多项创新技术与合作全面助力 AI 加速落地
- 基本农田卫星地图查询_发现谷歌地图替代网站,卫星地图街景功能都能用
- 树形结构 —— 树与二叉树 —— 树的中心
- spring事务和mysql的隔离级别
- HTML5新增的表单元素有哪些?
- JAVA泛型详解2 转载
- web项目在iis配置好后不能正确访问问题集锦,以及IIS常规设置
- ABAQUS仿真软件经典案例——水滴入水分析
- 激光雷达--C16镭神16线三维激光雷达介绍
- PTA 数据结构与算法题目集(中文)7-38 寻找大富翁(25 分)快排或堆排序
- iOS NSLayoutConstraint priority
- linux判断三个数大小程序,几个shell程序设计小知识(shell常识部分)
- 计算机开机按f1,开机要按F1怎么解决?电脑开机不按F1进去系统的方法
- MOOC-大型开放式网络课程massive open online courses
- 如何在 FlowUs、Notion 等笔记软件中进行时间管理?