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

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

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

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

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

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

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

相关推荐
云闲不收27 分钟前
mysql如何快速生成测试大数据库
数据库·mysql·oracle
YUJIANYUE36 分钟前
PHP7+MySQL5.6 雪里开简易预约制访客管理系统V1.0
mysql·php
LIU_Skill3 小时前
MySQL用户管理与权限控制详解
android·数据库·mysql
sclibingqing3 小时前
SpringBoot项目使用Redis作为数据缓存
spring boot·redis·缓存
dayceng5 小时前
一则复杂 SQL 改写后有感
java·数据库·mysql
LuLaLuLaLeLLLLLL5 小时前
MySQL 基础笔记
数据库·笔记·mysql
掘根6 小时前
【MySQL进阶】MySQL程序
数据库·mysql
neoooo6 小时前
SQL中JOIN操作的条件使用总结与最佳实践
java·后端·mysql
程序员岳焱6 小时前
Linux服务器上MySQL磁盘I/O性能瓶颈诊断与分析
java·linux·mysql
Lx3526 小时前
覆盖索引:减少回表查询的关键技巧
后端·sql·mysql