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

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回滚
http://www.cnnetsun.cn/news/9001.html

相关文章:

  • Wan2.2-T2V-A14B生成丝绸之路历史变迁动态地图
  • [Windows] 自动剪辑音频气口空隙工具
  • ANTLR4 C++目标终极实战指南:从零构建高性能语法解析器
  • 小兔鲜儿UniApp微信小程序开发实战:从零到上线的完整指南
  • HackRF PortaPack H1固件配置完整指南
  • GPT-5.2的发布:将如何影响未来的创作与文化传播?
  • 2025年内容优化工具选型指南:5款热门产品实测,精准匹配全场景需求
  • ArkOS开源游戏系统完整指南:从入门到精通
  • 从开发转到安全渗透工程师,是我做的最对的决定
  • 60亿消息表如何分库分表?
  • 干货分享,大厂内部压测方案设计
  • Python_work3
  • AFLplusplus模糊测试实战:10个高效调试技巧解决常见问题
  • 探索三电平T型LCL并网逆变器的双闭环PI + SVPWM控制仿真之旅
  • VSCode如何实时连接IBM Quantum?一文掌握核心配置参数(含实操代码)
  • python如何获取字符串最后一个字符
  • 赋能个体,智创全球——CCF 程序员大会“个人出海论坛”圆满落幕
  • 零基础学CMD:从关机命令开始的Windows命令行入门
  • Wan2.2-T2V-A14B与Runway Gen-3的技术差异全面对比
  • 为什么90%的工程师写不好Agentic Apps配置?Docker Compose权威解析
  • 【Azure量子开发权威解析】:掌握这8个考点,轻松拿下MCP认证
  • 第三方接口调用不用愁!JNPF 数据接口神技,鉴权 + 变量提取一键搞定
  • LED显示屏话筒生产厂家
  • 企业级Java开发:Eclipse定制化安装全攻略
  • 字节面试:如何测试RocketMQ、RocketMQ?测试点有哪些?
  • 访答:数字化时代的知识管理新范式
  • 基于Hadoop的游戏在线时长大数据分析系统毕业设计项目源码
  • 《智能座舱时代:车载HMI渲染引擎的选型、架构与实践》第 1 章 车载座舱对渲染的特殊要求
  • WiFi 定位的基本原理与技术
  • 测试自动化框架设计与最佳实践:构建高效测试体系的路径