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

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

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

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

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

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

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

相关推荐
这个DBA有点耶2 分钟前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶1 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung1 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
数据技术说1 天前
MySQL 迁移实战——如何实现真正的"零改造"平滑切换
mysql
用户3074596982074 天前
Redis 延时队列详解
redis
烤代码的吐司君4 天前
Redis 数据结构 ZSet, BIT, HyperLogLog,Geo 空间数据
redis·后端
唐青枫5 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
小满8785 天前
5.Mysql事务隔离级别与锁机制
mysql