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

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

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

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

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

相关推荐
tod1136 分钟前
Redis 数据类型与 C++ 客户端实践指南(redis-plus-plus)
前端·c++·redis·bootstrap·html
一生有你202023 分钟前
powerdesigner使用逆向工程生成物理模型
数据库
zcn12638 分钟前
时间条件高效用法
数据库·sql优化改写
zcn1261 小时前
消除无关列
数据库·sql优化改写
哈库纳玛塔塔1 小时前
dbVisitor 利用 queryForPairs 让键值查询一步到位
java·数据库·python
Moshow郑锴1 小时前
pgsql常见查询索引优化(等值条件+范围条件)
数据库·sql·mysql
sa100271 小时前
京东评论接口调用、签名生成与异常处理
开发语言·数据库·python
cccyi71 小时前
Redis基础
c++·redis
天竺鼠不该去劝架2 小时前
RPA 平台选型指南(2026):金智维 vs 来也RPA vs 艺赛旗 vs 阿里云 RPA 深度对比
大数据·数据库·人工智能
only-qi2 小时前
从单机到集群:Redis 高可用演进之路(深度解析主从、哨兵、Twemproxy、Codis 与 Redis Cluster)
redis·redis集群