Redis与数据库保持一致

参考链接

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

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

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

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

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

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

相关推荐
Cynicism_Smile4 分钟前
Mysql 8.0.32 union all 创建视图后中文模糊查询失效
数据库·mysql
小oo呆4 分钟前
【自然语言处理与大模型】向量数据库技术
数据库·人工智能·自然语言处理
永远有多远.36 分钟前
【高频面试题】LRU缓存
java·缓存·面试
Aurora_NeAr43 分钟前
Redis设计与实现——Redis命令参考与高级特性
数据库·redis·缓存
程序猿小谢1 小时前
Redis特性与应用
数据库·redis·缓存
编程、小哥哥1 小时前
Java求职者面试:从Spring Boot到微服务的技术点解析
java·spring boot·redis·微服务·spring security·高并发·面试题
Code哈哈笑1 小时前
【基于Spring Boot 的图书购买系统】深度讲解 用户注册的前后端交互,Mapper操作MySQL数据库进行用户持久化
数据库·spring boot·后端·mysql·mybatis·交互
Javatutouhouduan1 小时前
线上问题排查:JVM OOM问题如何排查和解决
java·jvm·数据库·后端·程序员·架构师·oom
多多*2 小时前
Spring之Bean的初始化 Bean的生命周期 全站式解析
java·开发语言·前端·数据库·后端·spring·servlet
淡笑沐白2 小时前
SQL Server 与 Oracle 常用函数对照表
数据库·oracle·sqlserver