欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 13 Redis-- MySQL 和 Redis 的数据一致性

13 Redis-- MySQL 和 Redis 的数据一致性

2025/6/8 11:45:49 来源:https://blog.csdn.net/m0_46671240/article/details/140025986  浏览:    关键词:13 Redis-- MySQL 和 Redis 的数据一致性

Redis-- MySQL 和 Redis 的数据一致性

先抛一下结论:在满足实时性的条件下,不存在两者完全保存一致的方案,只有最终一致性方案。
在这里插入图片描述

不好的方案:先写 MS,再写 Redis

例如 :A请求更新数据为10,B请求更新数据为11。最终 MS 和 Redis 中的变量应该都为 11。

至少应有四步,理想的顺序为

  1. 线程 A 执行 updateMySQL(10)。
  2. 线程 A 执行 updateRedis(10)。
  3. 线程 B 执行 updateMySQL(11)。
  4. 线程 B 执行 updateRedis(11)。

然而,As we all know:进程并发执行,其执行顺序并非固定。
理想的情况是 1234,但1324也是可能的。

最坏的情况,1342,即下图:
在这里插入图片描述
这种顺序下执行完四步,最终 MS 为 11;Redis 为 10。

不好的方案:先写 Redis,再写 MS

与第一种方案出错的原因一致。
在这里插入图片描述

不好的方案:先删除 Redis,再写 MS

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词