news 2026/6/15 21:15:36

mysql与redis缓存一致性问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mysql与redis缓存一致性问题

先更新数据库,再删除redis

  1. 没有试探机制,如果redis删除失败,永久不一致
  2. 并发问题:删除redis之前,其他线程读取到旧数据

先删除缓存,再更新数据库

  1. 没有试探机制,如果数据库更新失败,永久不一致
  2. 并发问题:更新数据库之前,其他线程读到db旧数据又写回redis旧数据

延时双删(先更新数据库,再删除redis的优化版本)

  1. 引入试探机制,先删除redis,删除成功表示redis链接可用有效
  2. 更新数据库成功说明数据库连接有效
  3. 延迟删除redis
  4. 能保证最终一致性

先更新数据,再更新redis(不推荐)

  1. 并发情况下会错乱顺序
  2. A先更新db,b后更新db。但是b先更新redis,a后更新redis。最后db是b的,redis却是a的数据

使用分布式锁

  1. 加分布式锁不需要考虑并发问题了,只考虑事务问题
  2. 先更新db,再删除redis
  3. redis失败,则db回滚
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 16:24:34

独家披露:顶尖量子实验室使用的VSCode连接配置模板(限时公开)

第一章:VSCode 的量子硬件连接配置在现代量子计算开发中,Visual Studio Code(VSCode)已成为主流集成开发环境之一。通过扩展插件和底层API的集成,开发者能够直接从本地编辑器连接到真实的量子硬件设备,实现…

作者头像 李华
网站建设 2026/6/15 3:57:57

AI核心知识47——大语言模型之Data Cleaning(简洁且通俗易懂版)

数据清洗 (Data Cleaning),在大语言模型(LLM)的开发流程中,属于预训练之前的准备工作。如果说预训练是 AI 的“正餐”,那么数据清洗就是“备菜”——把买回来的菜里的烂叶子摘掉、泥土洗净、切好分类,确保 …

作者头像 李华
网站建设 2026/6/15 17:40:19

PMBOK第七版完整学习指南:免费获取中英文PDF资源

PMBOK第七版完整学习指南:免费获取中英文PDF资源 【免费下载链接】PMBOK第七版电子书资源 本仓库提供PMBOK(项目管理知识体系指南)第七版的英文版和中文版PDF电子书,以及详细的目录,方便用户快速查找和学习。新考纲主要…

作者头像 李华
网站建设 2026/6/15 9:01:02

终极指南:企业级AI网关的完整部署与实战应用

终极指南:企业级AI网关的完整部署与实战应用 【免费下载链接】litellm Call all LLM APIs using the OpenAI format. Use Bedrock, Azure, OpenAI, Cohere, Anthropic, Ollama, Sagemaker, HuggingFace, Replicate (100 LLMs) 项目地址: https://gitcode.com/GitH…

作者头像 李华
网站建设 2026/6/15 13:43:54

破茧与重生:AI 编程时代,程序员该何去何从?

我们从国内外开发者社区的真实讨论出发,看看这场 AI 编程革命,究竟正在怎样改变程序员的命运,以及我们如何抓住未来的方向。你还记得,你第一次敲下 Hello World 的那一刻吗?屏幕上那行简简单单的文字,像一扇…

作者头像 李华
网站建设 2026/6/15 13:42:31

Vue-Spinner 终极指南:快速打造专业级加载动画

Vue-Spinner 终极指南:快速打造专业级加载动画 【免费下载链接】vue-spinner vue spinners 项目地址: https://gitcode.com/gh_mirrors/vu/vue-spinner 在当今快节奏的Web开发环境中,优雅的加载动画已经成为提升用户体验的重要元素。Vue-Spinner作…

作者头像 李华