天天新动态:聊聊Mybatis的缓存
记得点击"欢少的成长之路",设为星标⭐
后台点击【联系我】,申请加入优质技术学习社群
(资料图)
大家好,我是Leo。
好久没有输出技术理论了,实在是忙。最近主要以设计系统为主了。面试刚好又倒在了Mybatis原理。今天来聊一下Mybatis的一级缓存,二级缓存。
Mybatis缓存是内存中的数据,主要是对数据库查询结果的保存,使用缓存的好处是避免频繁与数据库进行交互,提升查询的响应速度。
数据库缓存扩展聊到Mybatis缓存。我们可以扩展聊一下MySQL缓存。MySQL缓存其实与Mybatis类似,在查询的时候都会先通过查询缓存检查一下所需的数据是否存在缓存中,如果存在缓存的话就会直接返回,这样就达到了避免频繁与数据库进行交互的目的。
数据查询流程图
回归正题在学习过程中,希望大家把知识点串起来学习,这样有助力更好的学习与理解
Mybatis 缓存主要分一级缓存和二级缓存。
一级缓存一级缓存也称为本地缓存(SqlSession),属于二级缓存的子集。与数据库同一次会话期间查询到的数据会放在本地缓存中。以后如果需要获取相同的数据,直接从缓存中拿,没必要再去查询数据库。
一级缓存的缓存数据只在SqlSession内有效,它的范围有两种SESSION和STATEMENT,默认是SESSION。如果不想使用一级缓存,可以通过下列代码配置
使用SESSION,这样每次执行完一个Mapper中的语句都会将一级缓存清除。二级缓存
一级缓存作用域太低,如果多个SqlSession需要共享缓存,则就需要开启二级缓存。二级缓存也叫全局缓存,二级缓存是基于namespace级别的缓存,一个namespace对应一个二级缓存。二级缓存需要我们手动开启。
我们可以通过在 mybatis-config 文件中配置开启二级缓存。
查询顺序
Mybatis的查询顺序如下图
Mybatis查询顺序
我们可以根据上图大概介绍一下B的流程。
首先创建SqlSession会话查询一条数据,这条数据就会被放到当前会话的一级缓存中。如果当前SqlSession去执行commit操作(插入,更新,删除),那么就会清空SqlSession中的一级缓存,保证缓存中始终保存的是最新的数据,避免脏读。这个时候并不会把一级缓存更新到二级缓存,这一步操作是在关闭SqlSession时触发的。新会话查询信息,就会从二级缓存中获取数据。注意:两次查询必须在同一个SqlSession中完成,否则将不会走Mybatis的一级缓存
相反,我们在使用Mybatis作为我们的持久层框架时,也就是上图的A流程
开启二级缓存后,会使用 CachingExecutor 装饰 Executor进入一级缓存查询流程前先在CachingExecutor进行二级缓存的查询如果二级缓存没有命中的话会到一级缓存中查询最后一级缓存没有的话才会去与数据库进行查询交互生命周期二级缓存开启后,同一个 namespace 下的所有操作语句,都影响着同一个 Cache,即二级缓存被多个 SqlSession 共享,是一个全局的变量。
MyBatis 是默认关闭二级缓存的,因为对于增删改操作频繁的话,那么二级缓存形同虚设,每次都会被清空缓存。
一级缓存没有过期时间,只有生命周期。MyBatis在开启一个数据库会话时,会创建一个新的SqlSession对象,SqlSession对象中会有一个Executor对象,Executor对象中持有一个PerpetualCache对象。当会话结束时,SqlSession对象及其内部的Executor对象还有PerpetualCache对象也一并释放掉。
二级缓存有过期时间,但没有后台线程进行检测。需要注意的是,并不是key-value的过期时间,而是这个cache的过期时间,是flushInterval,意味着整个清空缓存cache,所以不需要后台线程去定时检测。每当存取数据的时候,都有检测一下cache的生命时间,默认是1小时,如果这个cache存活了一个小时,那么将整个清空一下。
推荐文章
- 天天新动态:聊聊Mybatis的缓存
- 今日要闻!2022年度广州积分入户什么时候开始申请?
- 天天热点评!财信研究评12月货币数据:社融增速低位收官,2023年恢复关键看地产
- 环球要闻:“五个一百”:勾勒奋进中国“新画卷”
- 世界时讯:向最难之处攻坚 追求最远大的目标
- 2022年人民币贷款同比多增1.36万亿元 2023年信贷“开门红”可期
- 墨西哥媒体人:美墨边境移民问题由美门罗主义造成 当前通讯
- 日辰股份(603755.SH):中国证监会不予受理公司非公开发行A股股票申请
- 新城地产:公司已开业吾悦广场135座,储备未开业吾悦广场58座
- 中教控股(00839.HK)拟先旧后新配售最多1.47亿股 净筹15.98亿港元 全球报资讯
- 多家快递公司春节高薪留人,广东超16万家快递物流相关企业居全国第一_速递
- 当前关注:宜人贷网贷逾期11个月延迟还款会影响征信吗
- 当前要闻:陆金贷(大额专享)贷款逾期十个月拖欠多久会上征信系统
- 2018年芜湖工伤怎么计算|当前快报
- 贵阳机场春运预计旅客吞吐量达173万人次
- 东南网架:公司及子公司中标15.78亿元高创世界产业园项目 速递
- 大元泵业(603757):浙江股份有限公司变更财务总监|最新快讯
- 文化和旅游部:2023年将推出第一批中国特品级旅游资源名录
- 全球聚焦:2023年科技界最受期待的IPO有哪些?
- 参展2023CES,创维携旗下多款产品精彩亮相
- 菲律宾失业率降至4.2% 为17年来最低水平
- 天天快报!汪小菲直播10分钟卖15万桶酸辣粉 称自己是行动派
- 重庆九龙西苑对口初中有哪些?
- 环球速讯:币圈巨震下Silvergate(SI.US)损失惨重 股价一夜暴跌43%
- 今日申购:欧福蛋业-世界快资讯
- 【天天速看料】上海将三点八万家单位纳入排污许可监管体系 一证式管理,守护天蓝水绿(倾听)
- 三国志14:那些可以攻城略地的女将们
- 长沙哪个医院治疗新冠(更新中)
- 全球简讯:深藏不露的泰安路,“藏”着不少好风景
- 2023兰州市元旦春节期间文旅活动汇总|时讯
- 炒的花甲可以过夜吃吗 花甲可以在隔夜吃吗-世界快报
- 今日热文:新型城镇化板块1月3日涨1.38%,美晨生态领涨,主力资金净流出4106.99万元
- 旭辉:2022年交付9万套新房,16个社区交房即交证|每日短讯
- 天天快看:尹锡悦:韩美核演习“正在讨论”
- 南兴股份1月3日盘中涨幅达5% 环球要闻
- 重点聚焦!2023宁波余姚市不再开放免费核酸检测采样点
- 天天新动态:关于难忘的母校的句子(精选262句)
- 房产内容中的他项权证指的是什么_环球精选
- 环球新资讯:英语二十怎么读 英语二十读法
- 银星能源:宁东250MWp光伏复合发电项目首次并网成功
- 通讯!小鹏汽车22年交付超12万台,历史累计交付突破25万台
- 过春节给佛摆什么供果好 过小年佛台供什么水果最好
- 上海警方严打涉疫违法犯罪活动 殡仪馆附近抓获20余名殡葬"黄牛"
- 对重点人群展开分类精准识别 全力守护乡亲们健康防线_最新
- 环球看点!本周盘点(12.26-12.30):得邦照明周涨6.13%,主力资金合计净流入1615.73万元
- 法媒展望:2023年,“美元压迫者”将吹响复仇号角! 环球快消息
- 环球视讯!谈艺 大画家的“法无定法”
- 汉秀剧场元旦节门票多少钱?附购票入口
- 房屋违约赔偿合同范本下载(优选14篇) 世界滚动
- 每日焦点!盛世盈创吕美军:帮助解决用氢难题 秦创原为企业发展提供助力
- 2023开封清明上河园跨年有活动吗 天天视点
- 环球观察:郑恺首次坦言后悔结婚,女方4个字回应绝了
- 八角怎么保存不生虫不发霉 八角怎么保存好
- 【环球聚看点】描写菩萨神态的句子(精选214句)
- 实时焦点:金陵体育: 国泰君安关于金陵体育2022年度持续督导培训工作的情况报告
- 全球速读:2023出郑州市回来需要隔离吗?
- 欣灵电气:公司产品广泛应用于机械制造、新能源、家电、消防、电力、通信等行业_全球热闻
- 如何判断子宫肥大 四个特征是征兆
- 黑色骆驼:12月28日期货操作建议 天天即时
- 争分夺秒 创新谋划 南阳卧龙区梅溪街道再掀绿化新高潮
- 北风控场!北京今日风寒效应明显 阵风可达6至7级
- 焦点简讯:关于2023年的保险产品市场,你想知道的问题都在这里!
- 太聪明的人,做不好投资 全球独家
- 观天下!异动快报:*ST中昌(600242)12月26日9点37分触及跌停板
- 天天新动态:川宁生物: 长江证券承销保荐有限公司关于公司首次公开发行股票并在创业板上市之上市保荐书
- 助力乡村振兴 福建漳州启动2023年“三下乡”
- 西班牙检方宣布涉23人死亡的非法移民调查案结案|天天快看点
- 月内22家上市公司赴欧洲发行GDR迎新进展 “中德通”启动后有望吸引更多公司
- 天天观天下!嘉曼服饰:公司产品的面料具体信息,请关注具体产品的吊牌注释
- 世界短讯!“大数据”助力“小树苗”茁壮成长
- 环球热点!青春不过几场世界杯
- 2022 GG100 | 帅丰 X6-8B-90 蒸烤同步集成灶 高效烹饪 获奖 世界热议
- 全球快消息!包装印刷板块12月21日涨0.07%,中锐股份领涨,主力资金净流出347.25万元
- 钧达股份跌6.26% 兴业证券在其高位唱多-环球报道
- 报喜鸟:12月20日获融资买入143.31万元,占当日流入资金比例5.4%
- 【热闻】乙肝小三阳症状表现是什么样的 乙肝患者肝区疼痛是怎么回事?
- 全球观察:美康生物(300439)12月20日主力资金净卖出984.58万元
- 丰立智能:公司是全国小模数齿轮工作委员会副主任单位,浙江省‘专精特新’中小企业、国家级专精特新‘小巨人’企业 环球百事通
- 第108届糖酒会将于2023年4月在成都举办
- 【云宸论金】12.19黄金延续强势未消退,关注1782准时多|环球新消息
- 异动快报:银宝山新(002786)12月19日9点25分触及跌停板
- 环球快看点丨息县:群策群力为企业“量体裁衣”
- 每日热点:宁吉喆:要积极恢复接触型 聚集型 流动型消费
- 2022博鳌房地产论坛在广州举行
- 看点:上海电影: 关于董事离任及补选董事的公告
- 甘咨询(000779)12月16日主力资金净卖出1112.89万元
- 8个行业获融资净买入 电气设备行业获净买入最多_每日快报
- 我们在一起丨平顶山银行商丘分行多措并举助力战“疫”
- 世界讯息:安彩高科董秘回复:对于投资者的问题,公司会向相关单位和部门核实确认,并认真审核后予以
- 天天观热点:“线上买菜难” 难在配送员
- 环球短讯!邯郸二手房信息 「邯郸二手房中介」
- 创业慧康董秘回复:公司专业从事医疗信息化行业,专业从事医疗信息化产品的开发及服务-天天观焦点
- 全球球精选!MIND Technology(MIND.US):2023年Q3财报实现营收488.4万美元
- 全球速看:ST国华董秘回复:截至2022年12月9日,公司股东人数为16,063户
X 关闭
资讯
X 关闭