redis双写一致

redis双写一致,指的是redis缓存与mysql数据同步

双写一致常见方案有很多:

同步双写:更新完mysql后立即同时更新redis

mq同步:程序在更新完mysql后,投递消息到中间键mq,一个程序监听mq,获得消息后更新redis中的数据

阿里cannal组件实现异步监听:优点是不需要更改业务代码,部署cannal服务。cannal服务会把自己伪装成mysql的从节点,数据库更新后,canal会读取binlog数据,canal客户端获取到数据,会更新缓存

保证双写强一致性可以考虑上共享锁和排他锁,即读写锁

可用redisson实现读写锁,读的时候添加读锁,读共享,不能写。更新数据的时候,添加写锁,读写都互斥。这样就能保证写数据的同时不会让其他线程读取数据,避免脏数据。

排它锁底层可以使用setnx,也可以使用redisson框架(分布式环境中如何实现排他锁)

读锁的实现

相关推荐
颜颜颜yan_3 分钟前
让数据库学会说“不“——金仓 SQL 防火墙深度解析
数据库·后端
人道领域9 分钟前
Day | 07 【苍穹外卖:菜品套餐的缓存】
java·开发语言·redis·缓存击穿·springcache
m0_7066532310 分钟前
数据库与缓存操作策略:数据一致性与并发问题
java·数据库·缓存
独断万古他化10 分钟前
【抽奖系统开发实战】Spring Boot 活动模块设计:事务保障、缓存优化与列表展示
java·spring boot·redis·后端·缓存·mvc
JosieBook16 分钟前
【数据库】金仓数据库智能SQL防护机制,实现99.99%异常语句精准拦截
数据库·sql
y = xⁿ17 分钟前
【黑马点评二刷日记】分布式锁和Redisson
java·redis·分布式·缓存
dapeng287017 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
Gauss松鼠会21 分钟前
【GaussDB】技术解读|GaussDB架构介绍
数据库·架构·数据库开发·gaussdb
星空露珠22 分钟前
迷你世界UGC3.0脚本Wiki世界模块管理接口 World
开发语言·数据库·算法·游戏·lua
zdl68624 分钟前
spring Profile
java·数据库·spring