Redis与数据库保持一致

参考链接

  1. 先更新数据库,再更新redis

存在漏洞,如果更新Redis失败,仍然会导致不一致

  1. 先删Redis,再更新数据库并同步数据到Redis

存在漏洞,多线程情况下,线程1删除redis后,还是有可能被其他线程读取旧的数据库数据加载到redis当中

  1. 延迟双删, 在2的基础上,更新成功后延迟x秒再删除一遍redis

较好的解决方案,可以避免多线程情况下的问题,但其实还是会存在问题,例如第二次删除也失败,或者延时期间的不一致问题,不过我们一般处理到延迟双删就可以了,极端的场景需要更加细致的处理方案

相关推荐
张人玉几秒前
c# Data相关类
数据库·oracle
云和数据.ChenGuang1 分钟前
OpenEuler 系统中安装 MySQL
运维·数据库·mysql·adb·运维工程师·运维技术
wniuniu_3 分钟前
ceph中的rbd的稀疏写入
java·服务器·数据库
科技块儿8 分钟前
如何使用IP数据云数据库接入流量监控?
数据库·网络协议·tcp/ip
叮咚侠19 分钟前
Ubuntu 24.04.3 LTS如何扩容逻辑卷
linux·数据库·ubuntu
橘子1321 分钟前
Linux线程——一些概念(七)
java·redis·缓存
张人玉25 分钟前
c#DataTable类
数据库·c#
风月歌27 分钟前
基于微信小程序的学习资料销售平台源代码(源码+文档+数据库)
java·数据库·mysql·微信小程序·小程序·毕业设计·源码
gjc59227 分钟前
【一次线上 MySQL 死锁问题的完整复盘与解析】
数据库·mysql·死锁
qq24392016127 分钟前
mysql导致的内存泄漏Abandoned connection cleanup thread
数据库·mysql