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

深圳租房建设局网站首页织梦安防网站源码

深圳租房建设局网站首页,织梦安防网站源码,首都建设网,seo排名在系统中缓存最常用的策略是:服务端需要同时维护DB和cache,并且是以DB的结果为准–Cache-Aside Pattern(缓存分离模式、旁路缓存) 读数据 单纯的读数据是不会产生数据不一致,只有并发下读和写才会存在数据不一致。 写…

在系统中缓存最常用的策略是:服务端需要同时维护DB和cache,并且是以DB的结果为准–Cache-Aside Pattern(缓存分离模式、旁路缓存)

读数据

在这里插入图片描述

单纯的读数据是不会产生数据不一致,只有并发下读和写才会存在数据不一致。

写数据

  1. 更新缓存再更新数据库
  2. 删除缓存再更新数据库
  3. 更新数据库再更新缓存
  4. 更新数据库再删除缓存

以上操作步骤总结下来就是两点:

  • 更新缓存还是删除缓存?
    • 推荐使用删除,因为缓存的更新成本更高,因为写入缓存的值一般要经过一系列复杂的计算再写入缓存;删除缓存操作简单,副作用只是增加了一次cache miss
  • 先操作缓存还是先操作数据库?

数据不一致

先操作缓存

image

经过上述过程之后,出现了数据不一致;redis中是老的数据,而DB中是新的数据(写延迟);所有后续其他的线程都是从缓冲中拿到的老数据,直至该老数据缓存过期。

如何解决这种情况下的数据不一致性?
image

通过延迟双删的策略可以解决,且保证了最终一致性。虽然线程2依然拿到的是老数据,但是后面的线程拿到的都是新数据。

最终一致性:最终能够保证redis和DB的一致性。
强一致性:redis操作和DB操作设置成原子操作,虽然保证了一致性但是降低了吞吐量,违背了使用redis的初衷。

先操作数据库

image

通过先操作数据库,然后操作缓存,虽然线程2在删除之前拿到的是老数据(脏数据),但是可以保证最终一致性,推荐使用该方式

删除重试

上述两种方式不管是延迟双删还是先操作数据库,保证最终一致性的前提是删除缓存成功,如果在极端条件下删除缓存失败怎么办?
在这里插入图片描述

如上图所示,通过向MQ发送异步消息,通知客户端进行重试删除来解决。引入canal组件,可将该删除重试功能从业务代码中解耦,canal客户端可以使用springboot应用来实现。

http://www.dtcms.com/wzjs/793525.html

相关文章:

  • 网站建设pc指什么艺术字logo生成器
  • 大朗镇仿做网站设计师招聘
  • 网页设计一般多少钱旺道seo推广系统怎么收费
  • 网站设计一般包括哪些一天一元网站建设
  • 织梦网站模板安装本地wordpress app页面
  • 网站引量方法购买虚拟机建网站
  • 怎么上传网站数据库公司网站数媒设计制作
  • 如何入侵网站后台密码手机百度免费下载
  • python网站开发wordpress后台网页无法访问
  • 自适应网站做推广写网站开发代码
  • 知乎网站怎么做推广扬州建设工程交易网
  • 昌吉市建设局网站滁州新手跨境电商建站哪家好
  • 代做一个网站多少钱免费申请个人网站申请
  • 怎么申请 免费网站有官网建手机网站吗
  • 制作动画的网站模板wordpress 全文字主题
  • 做图软件ps下载网站惠州专业网站建设公司哪里有
  • 环评登记表在哪个网站做优秀个人网站设计欣赏
  • 广州市专业做网站深圳市网站设计公
  • 中国航天科工集团有限公司seo整站优化推广
  • 建设网站计划 ppt重庆关键词快速排名
  • 网站建设公司厦门网站怎么提高权重
  • 全国培训加盟网站建设网站开发语言什么意思
  • 创建微网站建立wordpress网站
  • 常州网站建设智博html网页制作代码模板
  • 农业建设公司网站深圳专业网站制作费用
  • 古镇建设网站电子商务网站建设选择
  • 网站seo外链接一般建一个外贸网站多少钱
  • 做网站讯息jsp如何做网站界面
  • 梁头网站建设网站名称管理
  • 现在做网站到底需要多少钱wordpress 菜单 字体