①、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。

  ②、二级缓存是mapper级别的缓存,多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。二级缓存底层还是个HashMap去实现。

开启二级缓存代码:

<!--开启二级缓存  -->
<settings><setting name="cacheEnabled" value="true"/>
</settings>

二、

1、一级缓存
    a)SqlSession级别的
    b)默认是开启的
2、二级缓存
    a)二级缓存SQLSessionFactory(namesapce)
    b)默认是关闭的
    c)放在二级中的对象要实现对象序列化接口
    d)二级缓存可以使用第三方的
3、MyBatis的一级缓存和二级缓存都是用PerpetualCache来实现的
4、MyBatis执行更新操作后(cud),缓存都会被刷新。

总结:

一级缓存是每个sqlsession私有的缓存区域,默认开启。

二级缓存是多个sqlsession共有的缓存区域,默认关闭,放在二级缓存中的对象必须实现序列化接口,且二级缓存可以使用第三方的。

一级缓存二级缓存的区别相关推荐

  1. 【mybatis】Mybatis中的一级、二级缓存

    [mybatis]简介 [mybatis]mybatis & mybatis-plus & hibernate的区别 [mybatis]核心成员分析 [mybatis]Mybatis的 ...

  2. 深入浅出 MyBatis 的一级、二级缓存机制

    一.MyBatis 缓存 缓存就是内存中的数据,常常来自对数据库查询结果的保存.使用缓存,我们可以避免频繁与数据库进行交互,从而提高响应速度. MyBatis 也提供了对缓存的支持,分为一级缓存和二级 ...

  3. Mybatis3.4.x技术内幕(二十二):Mybatis一级、二级缓存原理分析

    2019独角兽企业重金招聘Python工程师标准>>> Mybatis的一级缓存,指的是SqlSession级别的缓存,默认开启:Mybatis的二级缓存,指的是SqlSession ...

  4. MyBatis 一级缓存二级缓存详解

    相关内容: 架构师系列内容:架构师学习笔记(持续更新) MyBatis 缓存详解 cache 缓存 缓存是一般的ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力.跟Hibernat ...

  5. 一级缓存--二级缓存详解

    一级缓存 由于一级缓存的作用域是SqlSession内部,但是SqlSession的生命周期非常短暂,所以一级缓存对于查询效率的提升很有限.而要提升效率,需要使用二级缓存. 二级缓存 1.开启全局开关 ...

  6. mybatis缓存二级缓存_MyBatis缓存与Apache Ignite的陷阱

    mybatis缓存二级缓存 一周前,MyBatis和Apache ignite 宣布支持apache ignite作为MyBatis缓存(L2缓存). 从技术上讲,MyBatis支持两个级别的缓存: ...

  7. swf缓存文件在哪里_面试官:mybatis一级缓存二级缓存的区别都不知道,知道门在哪吧...

    面试官:虫虫你简历上写了了解mybatis缓存,那你能说说一级缓存和二级缓存的区别吗? 虫虫:我只知道这是用来缓存sql查询的数据 面试官:没了? 虫虫:没了 面试官:公司门知道在哪里吧 自己走还是我 ...

  8. mysql 几级缓存_Mysql中一级缓存二级缓存区别

    一级缓存: 也称本地缓存,sqlSession级别的缓存.一级缓存是一直开启的:与数据库同一次会话期间查询到的数据会放在本地缓存中. 如果需要获取相同的数据,直接从缓存中拿,不会再查数据库. 一级缓存 ...

  9. mybatis的缓存机制(一级缓存二级缓存和刷新缓存)和mybatis整合ehcache

    1      查询缓存 1.1  什么是查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能. mybaits提供一级缓存,和二级缓存. 一级缓存是SqlSession级别的缓存.在 ...

最新文章

  1. 2p刷高恪魔改固件_Newifi3路由器试用高恪固件
  2. 起步15万年薪 这些名校高材生争当卷烟工
  3. oracle执行计划结果分析_优化体系--sql整体优化(调优工具分析)
  4. 小米6x更换关机音量键记录
  5. verycd下载资源
  6. 后台job批量停用和开启
  7. 【IoT】STM32 启动代码汇编指令详解
  8. python3将网页保存为pdf
  9. 【锟斤拷】的故事:谈谈汉字编码和常用字符集
  10. win10添加开机启动项_Win10+Deepin双系统开启启动项调整
  11. fusioncharts java_FusionCharts在Java中的基本使用(2)
  12. Python读取CSV文件,并进行数据可视化绘图
  13. 微信小程序014租房-房屋租赁合同系统
  14. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(1)- KBOOT架构
  15. 五位回文数质数c语言程序,(1)求既是回文数又是质数的五位十进制数。
  16. 虹科新闻|ATTO 宣布支持 Apple 最新操作系统 macOS® 13 Ventura
  17. 如何使用TensorRT加速深度学习推理
  18. 【Shell】20天学会shell脚本命令(2)变量的详解
  19. 扎心了,Java面试不准备真的只有被怼的份儿了
  20. 微型计算机中bus是指,微机中的bus一词是指什么

热门文章

  1. 春有它的记忆,秋有它的情怀
  2. GO语言 调用Convey包时点(.)的用法
  3. android饿了么购物车,Android仿饿了么加入购物车旋转控件自带闪转腾挪动画的按钮效果(实例详解)...
  4. Python之计算24点
  5. SlideToShutDown命令实现炫酷的下滑关机
  6. 做了个“飞行棋”小游戏
  7. vagrants流浪者物品掉落表全道具合成及打怪取得点
  8. 解决M1处理器安装adobe闪退问题 PR/PS/AE/LR/AU/AI等已全部支持MAC苹果 M1芯片处理器
  9. 在Unity中实现音口同步-01-概述
  10. 给你八分钟搞定dedeCMS(织梦内容管理系统)