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

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

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

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

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

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

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

相关推荐
Dxy12393102167 小时前
Python 如何使用 MySQL 的事务
python·mysql
海上小飞龙11 小时前
Redis 分布式锁原理:从 SET NX EX 到 Redisson 看门狗
数据库·redis·分布式
xiaoye-duck12 小时前
MySQL 表约束全解:从基础约束到外键关联规则
数据库·mysql
冷凝娇13 小时前
【MySQL】2026总结(二)
数据库·mysql
万物皆字节14 小时前
【避坑】使用CacheEvict需要注意的坑
redis
wWYy.14 小时前
Mysql:Read View
数据库·mysql
—Miss. Z—15 小时前
存储过程、用户定义函数、触发器和游标
数据库·mysql
小码农 - 初16 小时前
MySQL 的约束
mysql
文人sec16 小时前
MySQL事务与索引做了什么?
android·笔记·mysql
Dear~yxy17 小时前
MySQL企业级实战
数据库·mysql