redis双写一致

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

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

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

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

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

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

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

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

读锁的实现

相关推荐
XDHCOM11 分钟前
ORA-12169: TNS连接标识符过长,Oracle报错故障修复与远程处理
数据库·oracle
有梦想的小何11 分钟前
从0到1搭建可靠消息链路:RocketMQ重试 + Redis幂等实战
java·redis·bootstrap·rocketmq
爬山算法29 分钟前
MongoDB(86)如何使用MongoDB存储大文件?
数据库·mongodb
何陋轩30 分钟前
Redis深度解析:把缓存核心讲透,吊打面试官
redis·面试
xcLeigh36 分钟前
KES数据库表空间目录自动创建特性详解与存储运维最佳实践
大数据·运维·服务器·数据库·表空间·存储
小陈工38 分钟前
2026年4月8日技术资讯洞察:边缘AI推理框架竞争白热化,Python后端开发者的机遇与挑战
开发语言·数据库·人工智能·python·微服务·回归
wb1891 小时前
NoSQL数据库Redis集群重习
数据库·redis·笔记·云计算·nosql
许杰小刀1 小时前
MyBatis-Plus实战:Spring Boot数据库操作效率提升10倍
数据库·spring boot·mybatis
Navicat中国1 小时前
Navicat 结构同步:一键解决多库结构不一致难题
数据库·navicat·结构同步
薿夜1 小时前
SpringSecurity(二)
数据库