专栏名称: 数据分析与开发
伯乐在线旗下账号,分享数据库相关技术文章、教程和工具,另外还包括数据库相关的工作。偶尔也谈谈程序员人生 :)
目录
相关文章推荐
AustinDatabases  ·  OceanBase ... ·  昨天  
今天看啥  ›  专栏  ›  数据分析与开发

美团四面:如何保障 MySQL 和 Redis 的数据一致性?

数据分析与开发  · 公众号  · 数据库  · 2023-02-09 12:10
    

文章预览

我直接先抛一下结论: 在满足实时性的条件下,不存在两者完全保存一致的方案,只有最终一致性方案。 根据网上的众多解决方案,总结出 6 种,直接看目录: 不好的方案 1. 先写 MySQL,再写 Redis 图解说明: 这是一副时序图,描述请求的先后调用顺序; 橘黄色的线是请求 A,黑色的线是请求 B; 橘黄色的文字,是 MySQL 和 Redis 最终不一致的数据; 数据是从 10 更新为 11; 后面所有的图,都是这个含义,不再赘述。 请求 A、B 都是先写 MySQL,然后再写 Redis,在高并发情况下,如果请求 A 在写 Redis 时卡了一会,请求 B 已经依次完成数据的更新,就会出现图中的问题。 这个图已经画的很清晰了,我就不用再去啰嗦了吧, 不过这里有个前提,就是对于读请求,先去读 Redis,如果没有,再去读 DB,但是读请求不会再回写 Redis。 大白话说一下,就是读请求 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览