Mybatis包含一个强大的查询缓存特性,使用缓存可以使应用更快地获取数据,避免频繁的和数据库进行交互。
一级缓存1.一级缓存也叫 应 用 缓 存 \color{red}应用缓存 应用缓存,Mybatis会默认启用一级缓存,如果想要关闭一级缓存可以在 s e l e c t \color{red}select select标签上添加 flushCache=“true” 2.一级缓存存在于SqlSession的生命周期中,在同一个SqlSeesion中查询,Mybatis会把执行的方法和参数通过算法生成缓存的键值,将键值和查询结果存放于一个Map对象中,如果同一个SqlSession中执行的方法和参数完全一致,那么通过算法会生成相同的键,当Map缓存对象中已经存在该键值时,则会返回缓存中的对象; 注 意 : 任 何 的 I N S E R T 、 U P D A T E 、 D E L E T E 操 作 都 会 清 空 一 级 缓 存 \color{red}注意:任何的INSERT、UPDATE、DELETE 操作都会清空一级缓存 注意:任何的INSERT、UPDATE、DELETE操作都会清空一级缓存
二级缓存1.二级缓存存在于sqlSessionFactory的生命周期中,可以理解为跨sqlSession;缓存是以namespace为单位的,不同的namespace下的操作互相不影响 2.setting参数cachedEnabled,这个参数是二级缓存的全局开关,默认值是true,如果把这个参数设置为false,即使后面存在二级缓存的配置,也不会生效。 3.要开启二级缓存,你需要在sql映射文件中添加配置
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?