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

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

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

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

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

相关推荐
念恒123068 分钟前
MySQL表的约束(上)
数据库·mysql
海市公约8 分钟前
MySQL核心概念及SQL语句与数据类型详解
mysql·sql语句·数据类型·运算符·ddl·dml·数据库入门
x***r1518 分钟前
heidisql数据库客户端使用步骤详解(附HeidiSQL连接MySQL与SQL执行教程)
数据库·sql·mysql
段一凡-华北理工大学31 分钟前
2026 高炉炼铁智能化技术全景与演进路径~系列文章04:云-边-端协同架构:高炉智能化底层支撑体系
数据库·人工智能·深度学习·神经网络·安全·架构·高炉炼铁智能化
青山师41 分钟前
B+树与InnoDB索引深度解析:数据库索引的底层原理与工程实践
数据结构·数据库·b树·性能优化·b+树·索引优化·mysql性能
小学鸡!1 小时前
IoTDB数据库导入导出数据
数据库·iotdb
尚雷55801 小时前
Oracle ASM 存储更换与整体迁移实战整理
数据库·oracle·ocr·asm
Nontee1 小时前
如何用 MySQL 实现一个可重入的锁?
数据库·mysql
麦聪聊数据1 小时前
数据服务轻量化:基于API架构的企业数据统一交付与消费方案
数据库·架构
坚定学代码2 小时前
如何在c++中使用MySQL
开发语言·c++·mysql