Redis双写一致性?

双写一致性:当修改了数据库的数据也要同时更新缓存的数据,缓存和数据库的数据要保持一致。

Redis作为缓存,mysql的数据如何与redis进行同步呢?(双写一致性)

1.我们当时做排行榜业务时,把历史榜单数据存储到了缓存中。这个虽然也是热点数据,但是实时要求性不高。所以,我们采用了异步的方案定时同步数据到DB。

2.我们做优惠券模块时,把抢券的库存存入到了缓存中,这个需要实时的数据同步,不然会发生超发现象。为了保证数据强一致性,我们当时采用了Redisson提供的读写锁来同步数据的。

那你介绍下异步的方案?/ Redisson读写锁的方案?

异步方案:允许延时一致的业务,采用异步通知

①使用MQ中间件,更新数据之后,通知缓存删除。

②利用canal中间件,canal可以伪装成mysql的一个从节点,通过读取binlog数据,更新缓存。

Redisson读写锁:强一致性的

①共享锁:读锁readLock,加锁之后,其他线程可以共享读操作。

②排他锁:独占锁writeLock,加锁后,阻塞其他线程读写操作。

相关推荐
闪电悠米40 分钟前
黑马点评-Redis ZSet-实现关注 Feed 流
服务器·网络·数据库·redis·缓存·junit·lua
天疆说43 分钟前
在 Ubuntu 24.04 上安装 MATLAB R2021b
数据库·ubuntu·matlab
码云数智-大飞43 分钟前
Go Channel 详解:并发通信的正确姿势
前端·数据库·git
Volunteer Technology1 小时前
Flink Table API与SQL(二)
大数据·数据库·flink
杨云龙UP1 小时前
Spotlight 接入 Oracle 数据库监控操作指南 2026-06-16
数据库·oracle·性能监控·预警·阈值·spotlight·瓶颈分析
正在走向自律1 小时前
KingbaseES MySQL模式深度解析,从语法兼容到迁移的全栈指南
数据库·数据库架构·kingbasees·电科金仓
叫我:松哥1 小时前
基于Python flask的中学可控智能命题系统设计与实现,整合遗传算法、DeepSeek 大模型及数据库技术构建一体化应用
数据库·人工智能·python·算法·机器学习·flask·遗传算法
阿维的博客日记1 小时前
Hippo4j 线程池监控接入方法
数据库·hippo4j
Devin~Y1 小时前
大厂 Java 面试实录:从音视频内容社区到 AI RAG 的全链路技术设计
java·spring boot·redis·spring cloud·微服务·kafka·音视频
审判长烧鸡1 小时前
数据库字段命名规范速查表
数据库·sql