Redis双写一致性?

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

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

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

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

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

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

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

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

Redisson读写锁:强一致性的

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

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

相关推荐
sakiko_9 分钟前
Swift学习笔记29-数据库SQlite
数据库·学习·sqlite·swift
weixin_5206498719 分钟前
数据库局部变量,全局变量,流程控制
数据库
想唱rap23 分钟前
IO多路转接Select
运维·服务器·网络·数据库·sql·tcp/ip·mysql
csjane107924 分钟前
Redis 配置文件
数据库·redis·缓存
_codemonster34 分钟前
系统分析师案例刷题(八)数据库
数据库
Yushan Bai38 分钟前
ORACLE SQL Performance Analyzer (SPA) 测试流程
数据库·sql
Data_Journal40 分钟前
什么是数据采购,它究竟如何运作?
大数据·开发语言·数据库·人工智能·python
我是苏苏42 分钟前
C#基础:Winform桌面开发中自定义组件UI、属性及事件
服务器·数据库·c#
whn197743 分钟前
达梦dmrman恢复表空间实验
数据库
KaMeidebaby1 小时前
卡梅德生物技术快报|Fab 抗体文库构建标准化实验流程与数据复盘
服务器·前端·数据库·人工智能·算法