Redis和mysql如何保持数据一致?

1.先更新Mysql,再更新Redis,如果更新Redis失败,可能仍然不一致

  1. 先删除Redis缓存数据,再更新Mysql,再次查询的时候在将数据添加到缓存中,这种方案能解决1方案的问题,但是在高并发

下性能较低,而且仍然会出现数据不一致的问题,比如线程1删除了Redis 缓存数据,正在更新Mysql,此时另外一个查询再查询,那么就会把Mysql中老数据又查到Redis中

3.延时双删,步骤是:先删除Redis缓存数据,再更新Mysql,延迟几百毫秒再删除Redis缓存数据,这样就算在更新Mysq时,有其他线程读了Mysal,把老数据读到了Redis中,那么也会被删除掉,从而把数据保持一致

相关推荐
海兰5 小时前
【数据库】tdsql(mysql8.0)优化思考三
数据库·redis
煎饼学大模型6 小时前
Agent 的“大脑-手“解耦架构:当推理层和工具执行层各自独立演进
数据库·人工智能·oracle·架构·agent
暖和_白开水9 小时前
数据分析agent(十三_3):docker mysql容器镜像服务的异常错误
mysql·docker·容器
muddjsv9 小时前
SQLite数据库文件机制详解:journal、wal、shm文件作用与备份避坑
数据库·sqlite
吴声子夜歌10 小时前
MongoDB 4.2——应用程序设计
数据库·mongodb
数字新视界11 小时前
动环监控可视化在数据中心管理中的应用与实践解析
数据库·物联网·解决方案·动环监控·大榕树
极地野狼 音乐哔哔11 小时前
数据库备份恢复的原理实践
数据库
互联网中的一颗神经元11 小时前
小白python入门 - 25. SQL 与表设计入门
数据库·python·sql
ttwuai11 小时前
AI 生成后台改数据后,操作日志别只记按钮:Go + MySQL 怎么验
数据库·人工智能·mysql·golang
KaMeidebaby11 小时前
卡梅德生物技术快报 | 核酸适配体文库测序:核酸适配体文库测序的技术原理、实验流程与数据解析
前端·网络·数据库·人工智能·算法