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

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

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

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

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

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

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

相关推荐
张小瑜7 小时前
Vue3 + Vite 项目部署后浏览器缓存导致标题错误
缓存
stevenzqzq7 小时前
android recyclerview缓存_缓存问题解决办法
android·java·缓存
失散137 小时前
分布式专题——57 如何保证MySQL数据库到ES的数据一致性
java·数据库·分布式·mysql·elasticsearch·架构
hoiii1878 小时前
设置Redis在CentOS7上的自启动配置
数据库·redis·缓存
爬山算法8 小时前
Redis(122)Redis的版本更新如何进行?
数据库·redis·bootstrap
t***D2648 小时前
前端构建工具缓存策略,contenthash与chunkhash
前端·缓存
kka杰9 小时前
MYSQL结构操作DDL指令1.数据库操作
数据库·mysql
Arva .9 小时前
MySQL 中的 MVCC
数据库·mysql
Boilermaker19929 小时前
【MySQL】数据目录与日志开篇
数据库·mysql