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

数据可以保持延迟,但是数据最终也是一致性的

1.采用了异步处理方法,当有数据更新和插入数据库的时候,放入MQ,顶一个任务监听MQ有数据就进行更新redis缓存

2.阿里提供cannal中间件,他是一个个服务,可以伪装一个mysql节点,当mysql有更新操作的时候,会监听binlog二进制日志数据,更新到redis缓存当中
数据强一致性

1.使用的readsson分布式锁,当读数据的时候添加了一个共享锁,读读不互斥,写互斥,

写的时候添加一个排他锁又称独占锁,可以读读互斥,读写互斥。这样就保证了数据和redis缓存数据一致,共享锁和排他锁 都是一把锁

排他锁底层用的redis sexnx锁,如果有就返回false,如果没有就新建

相关推荐
.Hypocritical.22 分钟前
MySQL |常用 SQL 语句与 pymysql 函数
mysql
NineData1 小时前
MySQL 到 Doris 实时数据同步:订单、用户和日志数据入仓方案
数据库·mysql
凤山老林2 小时前
Spring Boot 集成 Redis Stream 做可靠消息队列:持久化、消费组重组与流式处理实战
spring boot·redis·后端
Dovis(誓平步青云)2 小时前
现场问题先关闭还是先验收,建筑任务怎样处理依赖
前端·javascript·数据库·mysql·音视频
xuefuhe3 小时前
MySQL:group_replication_start_on_boot vs group_replication_bootstrap_group
mysql
刻BITTER3 小时前
LocalLow 乱码文件排查 Intel INSC着色器缓存文件
缓存·哈希算法·着色器
for_ever_love__3 小时前
MySQL Online DDL 完全指南:INSTANT/INPLACE/COPY 三种算法、MDL 锁事故与 gh-ost 实战
数据库·mysql·ddl·online·gh-ost·锁表·加字段
行百里er3 小时前
常见的 Redis 面试题
redis
for_ever_love__4 小时前
MySQL 子查询、派生表与 CTE 优化:半连接、物化和递归实战
数据库·mysql·优化·as·子查询·with·cte