- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
拓展6:平波缓进——懒惰删除
⼀直以来我们认为Redis是单线程的,单线程为Redis带来了代码
的简洁性和丰富多样的数据结构。不过Redis实际上并不是只有
⼀个主线程,它还有⼏个异步线程专⻔⽤来处理⼀些耗时的操作。
Redis为什么要懒惰删除(lazyfree)?
删除指令del会直接释放对象的内存,⼤部分情况下,这个指令⾮
常快,没有明显延迟。不过如果删除的key是⼀个⾮常⼤的对象,
⽐如⼀个包含了千万元素的hash,那么删除操作就会导致单线程卡
顿。
Redis为了解决这个卡顿问题,在4.0版本引⼊了unlink指令,
它能对删除操作进⾏懒处理,丢给线程来异步回收内存。
unlinkkey
OK
如果有多线程的开发经验,你肯定会担⼼这⾥的线程安全问题,会不
会出现多个线程同时并发修改数据结构的情况存在。
关于这点,我打个⽐⽅。可以将整个Redis内存⾥⾯所有有效的数据
想象成⼀棵⼤树。当unlink指令发出时,它只是把⼤树中的⼀个
树枝别断了,然后扔到旁边的⽕堆⾥(异步线程池)。树枝离开
⼤树的⼀瞬间,它就再也⽆法被主线的其它指令到了,因为
主线会沿着这颗⼤树来。
flush
Redis了flushdb和flushall指令,⽤来清空数据库,这
也是极其缓慢的操作。Redis4.0同样给这两个指令也带来了异步
化,在指令后⾯增加async参数就可以将整棵⼤树连根拔起,扔给
线程慢慢。
flushallasync
OK
异步队列
主线程将对象的引⽤从「⼤树」中摘除后,会将这个key的内存回
收操作包装成⼀个任务,塞进异步任务队列,线程会从这个异步
队列中取任务。任务队列被主线程和异步线程同时操作,所以必须是
⼀个线程安全的队列。
不是所有的unlink操作都会延后处理,如果对应key所占⽤的内
存很⼩,延后处理就没有必要了,这时候Redis会将对应的key内
存⽴即回收,跟del指令⼀样。
AOFSync也很慢
Redis需要每秒⼀次(可配置)同步AOF⽇志到磁盘,确保消息尽量不
丢失,需要调⽤sync函数,这个操作会⽐较耗时,会导致主线程的
效率下降,所以Redis也将这个操作移到异步线程来完成。执⾏AOF
Sync操作的线程是⼀个独⽴的异步线程,和前⾯的懒惰删除线程不
是⼀个线程,同样它也有⼀个属于⾃⼰的任务队列,队列⾥只⽤来存
放AOFSync任务。
异步删除点
Redis回收内存除了del指令和flush之外,还会存在于在key
的过期、LRU淘汰、rename指令以及从库全量同步时接受完rdb
⽂件后会⽴即进⾏的flush操作。
Redis4.0为这些删除点也带来了异步删除机制,打开这些点需要额
外的配置选项。
1.slave-lazy-flush从库接受完rdb⽂件后的flush操作
2.lazyfree-lazy-eviction内存达到maxmemory时进⾏
淘汰
3.lazyfree-lazy-expirekey过期删除
4.lazyfree-lazy-server-delrename指令删除destKey
扩展阅读
Redis懒惰处理的细节
()
您可能关注的文档
- 浙江省“9+1”高中联盟2026届高三上学期期中考试技术试题-高中信息技术含解析.docx
- 2026届高三二轮复习试题政治大单元突破练15生活幸福:家庭婚姻与就业创业含解析.docx
- 2025至2030全球及中国汽车发动机传感器行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030中国吸引器行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030中国吸烟者行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030黑龙江省新型农业发展趋势及产业链投资策略报告.docx
- 2025至2030农用无人机行业市场发展分析及有效策略与实施路径评估报告.docx
- 2025至2030中国营养煲行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030中国瑜伽培训行业投资潜力与未来前景预测报告.docx
- 2025至2030全球及中国航空售票系统行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030中国移动治疗台行业发展研究与产业战略规划分析评估报告.docx
- 2025至2030链激酶行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030爆炸物探测扫描仪行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030四川省智能制造行业细分市场及应用领域与趋势展望研究报告.docx
- 2026届高三二轮复习试题政治大单元突破练1生产资料所有制与分配制度含解析.docx
- 2026届高三二轮复习试题政治大单元突破练16哲学基本思想与辩证唯物论含解析.docx
- 2026届高三二轮复习试题政治大单元突破练2社会主义市场经济体制含解析.docx
- 浙江省衢州市五校联盟2025-2026学年高二上学期期中联考技术试题-高中信息技术含解析.docx
- 浙江省金丽衢十二校2026届高三上学期11月联考政治试题含解析.docx
- 2026届高三二轮复习试题政治大单元突破练7领导力量:中国共产党的领导含解析.docx
最近下载
- 信息技术与高中数学课堂教学融合路径研究.pptx VIP
- 2023ABB VD4真空断路器安装使用说明书.docx VIP
- MDCG 2022-21 欧盟定期安全更新报告(PSUR)指南(中文版).pdf VIP
- 七年级数学上册2.2.1同类项与合并同类项课件新版北京课改版 (2).ppt VIP
- 宝宝是从哪里来的.ppt VIP
- 信息技术与高中数学课堂教学深度融合的案例研究 (6).pptx VIP
- PPT:继往开来:从“十四五”辉煌成就到坚定不移迈向“十五五”新征程(四中全会).pptx VIP
- 黄帝的传说(课件).pptx VIP
- 2025年大学《化学测量学与技术》专业题库—— 分子探针技术在化学测量中的应用.docx
- 重型柴油车OBD尾气检测系统方案 ppt课件.doc VIP
原创力文档


文档评论(0)