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

负责网站建设和网络推广的wordpress主题插件下载失败

负责网站建设和网络推广的,wordpress主题插件下载失败,企业网站留言,微信seo如何保证 Redis 缓存和数据库的一致性? 1. 问题出现场景 先修改数据库,再删除缓存 删除数据库数据成功了,但是删除缓存却失败了,缓存中仍保留的是旧数据 先删除缓存,再删除数据库 如果 Redis 缓存删除成功后&#xf…

如何保证 Redis 缓存和数据库的一致性?

1. 问题出现场景

  1. 先修改数据库,再删除缓存

    删除数据库数据成功了,但是删除缓存却失败了,缓存中仍保留的是旧数据

  2. 先删除缓存,再删除数据库

    如果 Redis 缓存删除成功后,假如数据库数据还没来得及更新,用户又请求数据,这时就会从数据库中读取旧的值,存入到 Redis 中,用户查到的数据依旧是旧的数据。

2. 解决方案

2.1 双写事务

原理:利用 Redis 的事务特性,或是数据库的事务特性,把 Redis 操作和数据库操作放到同一个事务中去执行,同时提交或回滚,最大程度上保证 Redis 缓存和数据库的一致。

  1. 优点:实现简单、不复杂,能够保证一定的一致性

  2. 缺点:

    Redis 和数据库本质不是同一种数据库,所以无法通过事务来保证它们之间完全的一致性

适合小型系统的简单读写,不适合高并发系统。

2.2 延迟双删

原理:当完成数据库的更新时,立即删除 Redis 缓存,为了确保数据更新的稳妥,延迟一定时间后(例如 1s、2s),再次对缓存进行删除。

目的:避免并发操作导致缓存脏数据的问题出现

  1. 优点:实现简单,能够解决大部分场景下短时间数据不一致的情况
  2. 缺点:延迟时间非常难以精确控制,如果操作量比较大,可能还会出现覆盖的风险

2.3 订阅更新机制

原理:当数据库更新,会向消息队列发送一条消息,Redis 通过订阅这个消息队列,来更新缓存数据,这样会让更新和缓存的清除变得非常及时。

  1. 优点:同步效果非常好
  2. 缺点:系统的复杂度会增加,消息队列本身需要一些可靠性,也是需要一些维护成本

2.4 读写分离架构

高并发场景应用非常广泛

原理:把写操作全部直接操作数据库,然后通过一个异步线程、后台服务、定时任务,去更新 Redis 缓存,从而实现数据的一致性。

  1. 优点:缓存压力降低很多,特别适合大数据流量的系统
  2. 缺点:项目开发比较复杂,因为要做好这种异步的逻辑的处理

2.5 Canal 订阅 Binlog 同步 Redis

原理:修改数据库的同时,数据库的操作会同时写入到 Binlog 中,这时可以通过 Canal 中间键,来订阅 Binlog 的一些变化,如果监听到数据库变化之后,把更新的数据同步通知给 Redis,来更新 Redis 的缓存

3. 总结

3.1 哪儿种方案更好?

具体选择哪儿种解决方案,要根据具体业务场景、项目的需求,以及整体的架构等多种因素去综合考虑,比如是否是高并发、是否要考虑低延迟等等因素。

脱离业务谈技术,就是耍流氓。

3.2 归纳

虽然这几种解决方案,可以在一定程度上解决 Redis 和数据库不一致的情况,但是在实际情况种,还要结合业务,来判断项目中是否真的需要,或是项目中可以使用 Redis。如果业务需要强一致性,例如银行、股票等业务,其实不使用 Redis 其实也是一种很好的方案。


文章转载自:

http://ynRGGF8Z.rqqLp.cn
http://d53vkMVr.rqqLp.cn
http://TlytmOpv.rqqLp.cn
http://fTf2l7fm.rqqLp.cn
http://uxnyQUfP.rqqLp.cn
http://V1BQyUUW.rqqLp.cn
http://Kmd5MWeL.rqqLp.cn
http://jBOmYiiZ.rqqLp.cn
http://zxaknD48.rqqLp.cn
http://wQcD1p2m.rqqLp.cn
http://GcnFezhg.rqqLp.cn
http://ygSm9GSK.rqqLp.cn
http://hHcPMXr6.rqqLp.cn
http://W0HIHqW9.rqqLp.cn
http://6SB8icZa.rqqLp.cn
http://ReNv1L01.rqqLp.cn
http://CyoHRie3.rqqLp.cn
http://siYxuJQv.rqqLp.cn
http://qJAVCnTt.rqqLp.cn
http://nmBom0A2.rqqLp.cn
http://ceEmTdaE.rqqLp.cn
http://FwcvojL0.rqqLp.cn
http://wjtX9cHJ.rqqLp.cn
http://BRCh7vG2.rqqLp.cn
http://QNoPUeYm.rqqLp.cn
http://CTHrK1nB.rqqLp.cn
http://zXqy5zIh.rqqLp.cn
http://a4JWJZ1Z.rqqLp.cn
http://yo2wg9oN.rqqLp.cn
http://I8UDvHva.rqqLp.cn
http://www.dtcms.com/wzjs/778786.html

相关文章:

  • 小吃店网站建设云浮+网站建设
  • 云空间提供网站华为的网络营销方式
  • 手机微信网站建设销售平台网站建设方案模板
  • 怎么样在网上建设网站挣钱服装网站模板免费下载
  • 新乡微信网站建设wordpress 邮件文本
  • wordpress网站怎么打开很慢互联网传媒公司
  • 做国外夏令营的网站保定涿州网站建设
  • 扬州哪里做网站好网站的目标定位有哪些
  • 平台网站建设方案模板下载自己如何创立网站
  • 深圳企业网站托管青海网站建设系统
  • 专业做网站多少钱卖东西的网站怎么做
  • 软件公司网站素材wordpress ip设置
  • 网站建设实验分析上海装修公司排名榜
  • 大连庄河网站建设平顶山网站建设费用
  • android 移动网站开发网页制作基础教程视频教程 葛艳玲
  • 基层建设被哪些网站全文收录查域名解析ip
  • 网站建设推广谷得网络免费建站网站一级大录像不卡在线看网页
  • 宜昌做网站哪家最便宜wordpress自带jquery
  • 大连住建部官方网站如何做音乐分享类网站
  • 做网站的模仿还要去量宽高吗初中毕业学网站开发工程师
  • 医院网站建设报价做商城外贸网站
  • 做盗版小说网站赚钱嘛做封面电脑网站
  • 吉安做网站公司番禺网站制作价格
  • 网站建设计划书怎么写城乡建设部网站混凝土7天强度
  • 社交类网站开发需求分析惠东做网站报价
  • 局域网网站开发只做动漫的h网站
  • 医院网站竹子建站免费版
  • 成都网站的优化腾讯云可以做网站
  • 江苏大丰做网站西安网站制作哪家便宜又好
  • 做网站推广怎么说广告词关键词排名查询工具免费