redis双写一致

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

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

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

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

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

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

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

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

读锁的实现

相关推荐
啦啦啦_99995 分钟前
Redis-2-queryFormat()方法
数据库·redis·缓存
玄同7651 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
吾日三省吾码1 小时前
别只会“加索引”了!这 3 个 PostgreSQL 反常识优化,能把性能和成本一起打下来
数据库·postgresql
chian-ocean1 小时前
百万级图文检索实战:`ops-transformer` + 向量数据库构建语义搜索引擎
数据库·搜索引擎·transformer
小Tomkk1 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
qq_12498707532 小时前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
倒流时光三十年2 小时前
SpringBoot 数据库同步 Elasticsearch 性能优化
数据库·spring boot·elasticsearch
forestsea2 小时前
深入理解Redisson RLocalCachedMap:本地缓存过期策略全解析
redis·缓存·redisson
码农小卡拉3 小时前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
佛祖让我来巡山3 小时前
Redis 为什么这么快?——「极速快递站」的故事
redis·redis为什么快?