Redis双写一致性?

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

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

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

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

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

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

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

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

Redisson读写锁:强一致性的

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

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

相关推荐
天衍四九-2 分钟前
MySQL中如何定位慢查询?如果SQL语句执行很慢,如何分析和优化?
数据库·sql·mysql
尚久龙16 分钟前
mysql-5.7.26-winx64的安装步骤
数据库·mysql
医疗信息化王工18 分钟前
DataForge:基于 Python 的数据库批量导出 Excel 工具——从架构到部署的全流程实战
数据库·python·excel
实心儿儿20 分钟前
MySQL 的安装
数据库·mysql·adb
程序员阿鹏2 小时前
为什么MySQL InnoDB选择B+树?
数据结构·数据库·b树·sql·mysql·算法·缓存
瀚高PG实验室3 小时前
使用pg_stat_statements抓取数据库TOP SQL
数据库·sql·postgresql·瀚高数据库
码哥字节4 小时前
AI一天出百本书,写不出我被Redis坑的那三天三夜
redis·ai编程工具
yanwumuxi5 小时前
【数据库系列】opensearch数据备份和恢复
数据库
anxiao_m5 小时前
2026企业AI数字孪生选型攻略,不同场景对应不同解决方案
大数据·网络·数据库
SelectDB5 小时前
从 ClickHouse 迁移到 Doris:SQL 兼容、同步与验证清单(实战笔记)
大数据·数据库·数据分析