数据一致性解决方案

数据一致性解决方案

方案一:延时双删

概述:写操作前后都进行删除缓存操作,并设置合理超时时间

步骤

  • 1.删除缓存
  • 2.写数据库
  • 3.休眠
  • 4.再次删除缓存

休眠时间如何确定

  • 读数据逻辑耗时
  • Redis和数据库主从同步耗时

优化:缓存设置过期时间,到达缓存过期时间,后面请求DB中读取新值回填缓存

弊端:超时时间内数据不一致,又增加写请求的耗时

方案二:异步更新缓存(基于订阅binlog的同步机制)

概述:MySQL binlog增加订阅消费 + 消息队列 + 增量数据更新Redis

步骤

  • 1.MySQL产生更新操作,binlog消息推送至Redis,Redis根据binlog记录更新
  • 2.可结合阿里开源框架canal
数据一致性解决方案.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。