- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
图文19MySQL是如何将LRU链表的使用性能优化到极致的?手机观看
535人次阅读2020-02-1309:19:14
详情评论
MySQL是如何将LRU链表的使用性能优化到极致的?
如何提问:每篇文章都有评论区,大家可以尽情留言提问,我会逐一答疑
如何加群:购买狸猫技术窝专栏的小伙伴都可以加入狸猫技术交流群,一个非常纯粹的技术交流的地方
具体加群方式,请参见目录菜单下的文档:《MySQL专栏付费用户如何加群》(购买后可见)
1、昨日第一个思考题的解答
昨天第一个思考题,我们是让大家思考一下,在LRU链表的冷数据区域中的都是什么样的数据呢?
其实大家脑筋一转就知道了,大部分应该都是预读加载进来的缓存页,加载进来1s之后都没人访问的,然后包括全表
扫描或者一些大的查询语句,加载一堆数据到缓存页,结果都是1s之内访问了一下,后续就不再访问这些表的数据
了。
类似这些数据,统统都会放在冷数据区域里。
2、昨日第二个思考题的解答
接着我们来说一下昨日第二个思考题的解答,昨天第二个思考题是让大家想了一下,对于我们开发的Java系统,如果
在Redis里存放了很多缓存数据,那么此时会不会有类似冷热数据的问题?应该如何优化和解决呢?
答案是:那必然是存在一些问题的。
常见的一个场景就是电商系统里的商品缓存数据,假设你有1亿个商品,然后只要查询商品的时候发现商品不在缓存
里,就给他放到缓存里去,你要这么搞的话,必然导致大量的不怎么经常访问的商品会被放在Redis缓存里!
经常被访问的商品其实就是热数据,不经常被访问的商品其实就是冷数据,我们应该尽量让Redis里放的都是经常访问
的热数据,而不是大量的冷数据。因为你放一大堆不怎么经常访问的商品在Redis里,那么他占用了很多内存,而且后
续还不怎么会访问到他们!
所以我们在设计缓存机制的时候,经常会考虑热数据的缓存预加载
也就是说,每天统计出来哪些商品被访问的次数最多,然后晚上的时候,系统启动一个定时作业,把这些热门商品的
数据,预加载到Redis里。那么第二天是不是对热门商品的访问就自然会优先走Redis缓存了?
3、LRU链表的热数据区域是如何进行优化的?
接着我们来看看LRU链表的热数据区域的一个性能优化的点,就是说,在热数据区域中,如果你访问了一个缓存页,
是不是应该要把他立马移动到热数据区域的链表头部去?
我们看下面的图示。
但是你要知道,热数据区域里的缓存页可能是经常被访问的,所以这么频繁的进行移动是不是性能也并不是太好?也
没这个必要。
所以说,LRU链表的热数据区域的访问规则被优化了一下,即你只有在热数据区域的后3/4部分的缓存页被访问了,才
会给你移动到链表头部去。
如果你是热数据区域的前面1/4的缓存页被访问,他是不会移动到链表头部去的。
举个例子,假设热数据区域的链表里有100个缓存页,那么排在前面的25个缓存页,他即使被访问了,也不会移动到
链表头部去的。但是对于排在后面的75个缓存页,他只要被访问,就会移动到链表头部去。
这样的话,他就可以尽可能的减少链表中的节点移动了。
4、一个脑筋急转弯的思考题
今天给大家出一个脑筋急转弯的小思考题,大家看了以后都可以在评论区里回答一下,如果回答错误的同学,那真的
得接受一点惩罚了!
这个问题就是:如果一个缓存页在冷数据区域的尾巴上,已经超过1s了,此时这个缓存页被访问了一下,那么他此时
会移动到冷数据区域的链表头部吗?注意,是冷数据区域的链表头部!
End
专栏版权归公众号狸猫技术窝所有
未经许可不得传播,如有侵权将追究法律责任
狸猫技术窝精品专栏及课程推荐:
《从零开始带你成为消息中间件实战高手》
《21天互联网Java进阶面试训练营》(分布式篇)
《互联网Java工程师面试突击》(第1季)
《互联网Java工程师面试突击》(第3季)
《从零开始带你成为JVM实战高手》
Copyright©2015-2020深圳小鹅网络技术有限公司AllRigh
您可能关注的文档
- 从0开始带你成为MySQL实战高手11 从数据的增删改开始讲起,回顾一下Buffer Pool在数据库里的地位.pdf
- 从0开始带你成为MySQL实战高手12 Buffer Pool这个内存数据结构到底长个什么样子.pdf
- 从0开始带你成为MySQL实战高手13 从磁盘读取数据页到Buffer Pool的时候,free链表有什么用.pdf
- 从0开始带你成为MySQL实战高手14 当我们更新Buffer Pool中的数据时,flush链表有什么用.pdf
- 从0开始带你成为MySQL实战高手15 当Buffer Pool中的缓存页不够的时候,如何基于LRU算法淘汰部分缓存.pdf
- 从0开始带你成为MySQL实战高手16 简单的LRU链表在Buffer Pool实际运行中,可能导致哪些问题.pdf
- 从0开始带你成为MySQL实战高手17 MySQL是如何基于冷热数据分离的方案,来优化LRU算法的.pdf
- 从0开始带你成为MySQL实战高手18 基于冷热数据分离方案优化后的LRU链表,是如何解决之前的问题的.pdf
- 从0开始带你成为MySQL实战高手20 对于LRU链表中尾部的缓存页,是如何淘汰他们刷入磁盘的.pdf
- 《科研团队》课件.ppt
最近下载
- 张思德革命英雄人物故事PPT课件(图文演讲).pptx
- 多媒体技术与应用教程(全套课件91P).pptx VIP
- 肖维青中国文化英语综合教程.pdf VIP
- Unit 1 School things(大单元教学解读)三年级英语下册(译林版三起2024).pdf
- 五年级美术下册课件-5景物的近大远小(7)-冀美版.ppt
- 消防员的体能训练与技战术训练课件.pptx VIP
- 2024《财务共享服务中心的运营现状及优化策略研究-以鞍钢集团为例》14000字.docx
- 2024-2025学年九年级语文期末模拟考试卷期末模拟卷(安徽专用,范围:上册+下册).pdf VIP
- 1金正日の料理人.pdf
- 新《特种设备生产和充装单位许可规则》--气瓶充装许可部分.doc
文档评论(0)