当前位置: 首页 > wzjs >正文

支付公司网站建设费账务处理许昌市建设路小学网站

支付公司网站建设费账务处理,许昌市建设路小学网站,关于app的策划书,深圳推广系统一、⼀致性问题的由来:为什么会不一致? 我们先从现实例子出发,来看为什么会出现一致性问题: 📦 场景举例:电商下单业务 用户提交订单 → 服务写入数据库订单表;同时更新缓存(比如用…

一、⼀致性问题的由来:为什么会不一致?

我们先从现实例子出发,来看为什么会出现一致性问题:

📦 场景举例:电商下单业务

  1. 用户提交订单 → 服务写入数据库订单表;
  2. 同时更新缓存(比如用户的订单数量缓存);
  3. 如果在更新缓存前服务宕机了,那么缓存没有更新;
  4. 数据库是最新的,缓存却是旧的。

这个时候就出现了“缓存与数据库数据不一致”的问题。


二、可能出现不一致的典型操作顺序

操作顺序描述风险
✅ 正常流程先更新数据库,再删除缓存
❌ 反向顺序先删除缓存,再更新数据库如果更新慢或失败,可能被其他请求重新写入旧缓存
❌ 异步删除缓存更新数据库后异步删除缓存异步失败就不会删掉缓存了
❌ 多线程并发写请求并发,缓存与数据库互不协调脏数据风险高

三、解决方案详解

✅ 方案 1:先更新数据库,再删除缓存(强一致)

这是大多数系统采用的方式:

1. update DB
2. delete cache

目前最流行的缓存读写策略 Cache Aside Pattern(旁路缓存模式)就是采用的先写数据库,再删缓存的方式。

  • 失效:应用程序先从缓存读取数据,如果数据不存在,再从数据库中读取数据,成功后,放入缓存。
  • 命中:应用程序从缓存读取数据,如果数据存在,直接返回。
  • 更新:先把数据写入数据库,成功后,再让缓存失效。

左耳朵耗子:Cache Aside Pattern

优点:只要删除成功,下一次读请求就会重新回源数据库拿到最新值再写入缓存。

缺点:并发高时,如果删缓存和数据库之间被另一个请求读到了旧缓存,就不一致。


✅ 方案 2:延迟双删策略(推荐)

为了防止缓存刚删完就被其他线程重新写回老数据,可以在第一次删缓存后等待一段时间再次删一次:

updateDB();
deleteCache();
Thread.sleep(500);
deleteCache();

在这里插入图片描述

适用于读多写少的场景,第二次延迟删除是为了避免“击穿后写入旧数据”。


✅ 方案 3:消息队列补偿策略(最终一致性)

流程如下:

1. 更新数据库成功后,发送一条消息到 MQ(如 Kafka、RocketMQ)
2. 缓存服务订阅这个消息,接收到后再删除缓存

可以专门起一个服务(比如 Canal,阿里巴巴 MySQL binlog 增量订阅&消费组件)去监听 MySQL 的 binlog,获取需要操作的数据。在这里插入图片描述

然后用一个公共的服务获取订阅程序传来的信息,进行缓存删除。

三分恶面渣逆袭:数据库订阅+消息队列保证key被删除
这种方式虽然降低了对业务的侵入,但增加了整个系统的复杂度,适合分布式系统中异步解耦场景。

📌 要求 MQ 高可靠、要做消息幂等处理


✅ 方案 4:读写都走缓存(缓存作为主存)

比如电商秒杀场景,订单库存都缓存于 Redis,数据库作为持久化。

  • 所有写操作先写 Redis
  • 后台定时同步到 DB(MySQL)
  • 或使用 binlog 异步写入(如 Canal)

风险:系统崩溃前未同步的缓存可能丢失,适用于对一致性要求不极端高的场景。


四、附图:缓存与数据库一致性解决策略图

在这里插入图片描述


五、常见问题及应对策略

面试提问建议回答
如何保证缓存和数据库一致性?描述“先更新数据库,再删除缓存”的基本原则,提出“延迟双删”、“消息队列”等高级策略
如果缓存刚删完就被旧值写回了怎么办?回答“延迟双删”或“使用分布式锁防止并发更新”
缓存更新失败怎么办?回答“使用 MQ 补偿机制,做幂等重试”

文章转载自:

http://kBtcU50Z.frsbf.cn
http://zTgFbg2S.frsbf.cn
http://yuykQ795.frsbf.cn
http://GU2rzJJE.frsbf.cn
http://iOp5qd91.frsbf.cn
http://K8G2Y6Uo.frsbf.cn
http://x1gNimam.frsbf.cn
http://jEa0iUvm.frsbf.cn
http://fDnnQmBi.frsbf.cn
http://KHQO8OIc.frsbf.cn
http://bdsWF6D6.frsbf.cn
http://ubu32U6Q.frsbf.cn
http://2U6EX3wO.frsbf.cn
http://zgx0vrUH.frsbf.cn
http://lQMdbAa1.frsbf.cn
http://g0hwoZRL.frsbf.cn
http://qkep1KPz.frsbf.cn
http://HjZiJ15M.frsbf.cn
http://rc1jWo9V.frsbf.cn
http://10y2cQNy.frsbf.cn
http://hYhY4YUc.frsbf.cn
http://rOvlpfUa.frsbf.cn
http://VEKzf4Uc.frsbf.cn
http://TuJc2v6C.frsbf.cn
http://aAFHDJbw.frsbf.cn
http://aduN9KFj.frsbf.cn
http://238TqfXK.frsbf.cn
http://ArZBgQaP.frsbf.cn
http://UzaT7xv5.frsbf.cn
http://SoWDD7tl.frsbf.cn
http://www.dtcms.com/wzjs/686882.html

相关文章:

  • 房产设计公司网站想做网站
  • 服务器如何架设网站汉化WORDPRESS聊天软件
  • 第一百四十七章 做视频网站怎样做百度口碑推广自己的网站
  • 宁夏微信网站建设wordpress表单提交 阿里云邮箱
  • 内黄县建设局网站郑州专业的网站建设公司哪家好
  • 专业网站快速江苏省建设厅 标准化网站
  • wordpress html5中文主题青岛谁优化网站做的好处
  • 自适应网站 响应式网站模板建设网站费用预算
  • 网站怎样注册备案东莞阳光网投诉电话
  • wordpress 网站赏析wordpress做在线编辑图片大小
  • 合肥网站推广公司排名wordpress 设置用户权限
  • 毕业设计做网站做内部网站cms
  • 清溪网站建设wordpress怎么ftp建站
  • 做网站都需要学什么网站规划模板
  • 怎么能查到网站是哪个公司做的wordpress edu2.0
  • 保定网站建设方案推广东莞网站平台费用
  • 如何建设网站盈利比价网站模板
  • 莱芜网站建设与管理企业vi设计是什么意思
  • 网站建立费用网页传奇开服表
  • wordpress 中文网站西安网站托管商家
  • 做网站怎么写预算东营房产网信息网
  • 漯河网站建设漯河珠海手机网站建设推广公司
  • 东莞微信网站建设咨询企航互联提供天津网站建设
  • 上海网站建设公司推百度云电脑版网站入口
  • 我的世界做皮肤壁纸网站建设一网站要多少钱
  • 网站建设华科技公司wordpress 自动上传插件
  • 网站流量建设网站搭建设计 是什么意思
  • 做ui要上那些网站东莞广告公司东莞网站建设价格
  • 连云港北京网站建设法人变更在哪个网站做公示
  • 做网站业务员怎么查找客户网站首页布局有哪些