当前位置:首页 > 科技  > 软件

高并发缓存策略大揭秘:面试必备的缓存更新模式解析

来源: 责编: 时间:2024-03-18 09:42:30 286观看
导读在高并发场景中,缓存能抵挡大量数据库查询,减少数据库压力,对于缓存更新通常有以下几种模式可以选择:• cache aside• read/write through• write behind cachingcache aside模式Cache-aside模式是一种常用的用于管理缓

在高并发场景中,缓存能抵挡大量数据库查询,减少数据库压力,对于缓存更新通常有以下几种模式可以选择:2rq28资讯网——每日最新资讯28at.com

• cache aside2rq28资讯网——每日最新资讯28at.com

• read/write through2rq28资讯网——每日最新资讯28at.com

• write behind caching2rq28资讯网——每日最新资讯28at.com

cache aside模式

Cache-aside模式是一种常用的用于管理缓存的模式。它用于确保缓存与底层数据源之间的数据一致性。以下是cache-aside模式的工作原理:2rq28资讯网——每日最新资讯28at.com

图片图片2rq28资讯网——每日最新资讯28at.com

1. 从缓存读取:当有读取操作请求时,应用程序首先检查缓存中是否存在数据。如果在缓存中找到了数据,则将其返回给调用者,避免了访问底层数据源的需要。2rq28资讯网——每日最新资讯28at.com

2. 缓存未命中:如果在缓存中未找到数据,则表示缓存未命中。在这种情况下,应用程序从底层数据源检索数据,并将检索到的数据填充到缓存中。2rq28资讯网——每日最新资讯28at.com

3. 更新数据:当对数据执行写入或更新操作时,应用程序首先更新底层数据源中的数据。然后,清除缓存中的数据,以确保下一次读取从数据源中检索到更新后的数据。2rq28资讯网——每日最新资讯28at.com

通常写缓存和写数据库是两个独立的事务,选择先更新缓存还是先更新数据库都有可能产生数据不一致的情况。2rq28资讯网——每日最新资讯28at.com

先删缓存,再更新数据库的问题

假设有两个请求A、B。2rq28资讯网——每日最新资讯28at.com

• 请求A先删除缓存,此时还未更新数据库2rq28资讯网——每日最新资讯28at.com

• 请求B查询缓存未命中,然后查询数据库,查出旧数据写入缓存2rq28资讯网——每日最新资讯28at.com

• 请求A继续将数据写入数据库2rq28资讯网——每日最新资讯28at.com

• 此时缓存与数据库中的数据出现了不一致的情况2rq28资讯网——每日最新资讯28at.com

2rq28资讯网——每日最新资讯28at.com

将缓存更新不做删除的问题

• 请求A先更新了数据库2rq28资讯网——每日最新资讯28at.com

• 请求B更新了数据库,并更新了缓存2rq28资讯网——每日最新资讯28at.com

• 请求A最后更新缓存,此时请求A的数据是脏数据。2rq28资讯网——每日最新资讯28at.com

2rq28资讯网——每日最新资讯28at.com

先更新DB再失效缓存问题

先更新DB,再失效缓存也会出现问题。2rq28资讯网——每日最新资讯28at.com

• 请求A读取缓存未命中,查询数据库成功查到数据2rq28资讯网——每日最新资讯28at.com

• 请求B进来更新数据库成功,并删除缓存数据2rq28资讯网——每日最新资讯28at.com

• 请求A将查询的数据写入到缓存中,此时请求A写入缓存的数据已经是脏数据2rq28资讯网——每日最新资讯28at.com

2rq28资讯网——每日最新资讯28at.com

read/write through模式

cache aside模式需要应用方维护缓存的读写,对数据和缓存的维护设计侵入代码,代码复杂性增加。read/write through模式弥补了这一问题,调用方无需管理缓存和数据库调用,通过抽象缓存管理组件维护缓存和数据库的读写,解耦业务代码。2rq28资讯网——每日最新资讯28at.com

read through模式

当客户端请求一个数据时,如果缓存中不存在该项(缓存未命中),缓存系统会自动从后端存储中加载数据,然后将其添加到缓存中,并返回给客户端。对于后续的相同请求,数据则直接从缓存中获取,直到缓存过期或被淘汰。2rq28资讯网——每日最新资讯28at.com

图片图片2rq28资讯网——每日最新资讯28at.com

write through模式

在write-through模式中,当客户端更新一个数据项时,缓存系统会同时更新缓存和后端存储。这意味着所有的写操作都会同步地写入缓存和存储,确保二者的数据一致性。2rq28资讯网——每日最新资讯28at.com

图片图片2rq28资讯网——每日最新资讯28at.com

write behind caching模式

Write Behind模式和Write Through模式整个架构是一样的,核心在于write through在缓存数据库中的更新是同步的,而Write Behind是异步的。2rq28资讯网——每日最新资讯28at.com

每次的请求写都是直接更新缓存然后就成功返回,并没有同步把数据更新到数据库。而把更新到数据库的过程称为flush,触发flush的条件可自定义,如定时或达到一定容量阈值时进行flush操作。并且可以实现批量写,合并写等策略,也有效减少了更新数据的频率,这种模式最大的好处就是读写响应非常快,吞吐量也会明显提升。这种模式也有其他的问题,比如数据不是强一致性的,因为把最新的数据放在缓存里,如果缓存在flush到数据库之前宕机了就会丢失数据,另外实现也比较复杂。2rq28资讯网——每日最新资讯28at.com

几种模式对

模式2rq28资讯网——每日最新资讯28at.com

优点2rq28资讯网——每日最新资讯28at.com

缺点2rq28资讯网——每日最新资讯28at.com

Cache Aside2rq28资讯网——每日最新资讯28at.com

实现比较简单2rq28资讯网——每日最新资讯28at.com

需要应用程序负责缓存的读取和写入操作,代码侵入较大2rq28资讯网——每日最新资讯28at.com

Read/Write Through2rq28资讯网——每日最新资讯28at.com

引入缓存管理组件,缓存和数据库的维护对应用程序透明;应用代码入侵小,逻辑更清晰2rq28资讯网——每日最新资讯28at.com

引入缓存管理组件,实现更复杂2rq28资讯网——每日最新资讯28at.com

Write Behind Caching2rq28资讯网——每日最新资讯28at.com

读写直接和缓存交互,异步批量更新数据2rq28资讯网——每日最新资讯28at.com


2rq28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-76545-0.html高并发缓存策略大揭秘:面试必备的缓存更新模式解析

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 垃圾收集器的秘密:深入理解JVM性能调优

下一篇: 2024年最具潜力的十大编程语言:引领未来技术潮流

标签:
  • 热门焦点
  • 影音体验是真的强 简单聊聊iQOO Pad

    大公司的好处就是产品线丰富,非常细分化的东西也能给你做出来,例如早先我们看到了新的vivo Pad2,之后我们又在iQOO Neo8 Pro的发布会上看到了iQOO的首款平板产品iQOO Pad。虽
  • 如何通过Python线程池实现异步编程?

    线程池的概念和基本原理线程池是一种并发处理机制,它可以在程序启动时创建一组线程,并将它们置于等待任务的状态。当任务到达时,线程池中的某个线程会被唤醒并执行任务,执行完任
  • 梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • 腾讯盖楼,字节拆墙

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之“想重温暴刷深渊、30+技能搭配暴搓到爽的游戏体验吗?一起上晶核,即刻暴打!”曾凭借直播腾讯旗下代理格斗游戏《DNF》一
  • OPPO、vivo、小米等国内厂商Q2在印度智能手机市场份额依旧高达55%

    7月20日消息,据外媒报道,研究机构的报告显示,在全球智能手机出货量同比仍在下滑的大背景下,印度这一有潜力的市场也未能幸免,出货量同比也有下滑,多家厂
  • iQOO 11S或7月上市:搭载“鸡血版”骁龙8Gen2 史上最强5G Soc

    去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,iQOO 11不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞屏,同时在快充
  • Counterpoint :OPPO双旗舰战略全面落地 高端产品销量增长22%

    2023年6月30日,全球行业分析机构Counterpoint Research发布的《中国智能手机高端市场白皮书》显示,中国智能手机品牌正在寻求高质量发展,中国高端智能
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
  • “买真退假” 这种“羊毛”不能薅

    □ 法治日报 记者 王春   □ 本报通讯员 胡佳丽  2020年初,还在上大学的小东加入了一个大学生兼职QQ群。群主“七王”在群里介绍一些刷单赚
Top