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

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

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

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

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

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

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

相关推荐
Zzzzmo_8 小时前
【MySQL】JDBC(含settings.xml文件配置/配置国内镜像以及pom.xml文件修改)
数据库·mysql
FirstFrost --sy9 小时前
MySQL内置函数
数据库·mysql
eggwyw9 小时前
MySQL-练习-数据汇总-CASE WHEN
数据库·mysql
wyt53142910 小时前
Redis的安装教程(Windows+Linux)【超详细】
linux·数据库·redis
vpk11211 小时前
Docker Compose 安装 Redis
redis·docker·容器
mygljx12 小时前
MySQL 数据库连接池爆满问题排查与解决
android·数据库·mysql
我真会写代码13 小时前
从入门到精通:Kafka核心原理与实战避坑指南
分布式·缓存·kafka
Bdygsl13 小时前
MySQL(1)—— 基本概念和操作
数据库·mysql
身如柳絮随风扬13 小时前
什么是左匹配规则?
数据库·sql·mysql
jiankeljx13 小时前
mysql之如何获知版本
数据库·mysql