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

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

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

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

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

相关推荐
ccddsdsdfsdf1 小时前
DBeaver怎么链接mongoDB
数据库·mongodb
程序员老邢2 小时前
《技术底稿 43》今日踩坑复盘:Redis 乱码 + MySQL 配置注入失败
redis·技术底稿·redisson 序列化·mysql 配置·项目踩坑·微服务问题排查
丷丩2 小时前
Postgresql基础实践教程(十一)各种Join
数据库·postgresql·join
星夜夏空992 小时前
FreeRTOS学习(4)——内存映射
数据库·学习·mongodb
TheRouter3 小时前
AI Agent 记忆体系建设实战:短期、长期与工作记忆的工程实现
数据库·人工智能·oracle
Omics Pro3 小时前
首个!外源天然产物综合性代谢图谱
数据库·人工智能·算法·机器学习·r语言
唐青枫3 小时前
MySQL EXISTS 详解:存在性判断、NOT EXISTS 与实战示例
sql·mysql
JAVA面经实录9174 小时前
Hibernate面试题库
数据库·oracle·hibernate
2301_773643624 小时前
华为云存储实验
网络·mysql·华为云
Mr. zhihao4 小时前
Redis五大高级数据结构:原理-场景-底层-横向对比
数据结构·redis