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

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

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

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

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

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

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

相关推荐
九皇叔叔33 分钟前
Linux Shell 正则表达式:从入门到实战,玩转文本匹配与处理
linux·mysql·正则表达式
Wang's Blog2 小时前
MySQL: 高并发电商场景下的数据库架构演进与性能优化实践
mysql·性能优化·数据库架构
阿维的博客日记2 小时前
Redis学习笔记-QuickList
redis·笔记·学习
机灵猫2 小时前
Redis 在订单系统中的实战应用:防重、限流与库存扣减
数据库·redis·缓存
程序新视界2 小时前
什么是MySQL JOIN查询的驱动表和被驱动表?
数据库·后端·mysql
一匹电信狗3 小时前
【MySQL】数据库的相关操作
linux·运维·服务器·数据库·mysql·ubuntu·小程序
陈一Tender3 小时前
JavaWeb后端实战(登录认证 & 令牌技术 & 拦截器 & 过滤器)
java·开发语言·spring boot·mysql
Southern Wind6 小时前
Vue 3 多实例 + 缓存复用:理念及实践
前端·javascript·vue.js·缓存·html
Cabbage_acmer6 小时前
MySQL期中考试突击!
数据库·mysql
在下木子生6 小时前
SpringBoot基于工厂模式的多类型缓存设计
java·spring boot·缓存