redis 如何保证缓存和数据库一致性?解决策略如下

Redis 与数据库的数据保持一致,传统策略是先读缓存,未命中则读数据库并回填缓存,但方式这种维护成本较高。



下面是几种传统常见的策略及其优缺点:

【策略1】先写 MySQL。成功后,更新或删除 Redis 中的对应数据。

  • 优点:简单易实现。
  • 缺点:存在短暂的不一致。

【策略2】先写 Redis。异步或定时将Redis数据同步到 MySQL。

  • 优点:提升写性能。
  • 缺点:同步延迟可能导致数据丢失。

【策略3】读 Redis,命中则返回,未命中则读 MySQL,并将结果写入 Redis。

  • 优点:减少 MySQL 压力。
  • 缺点:存在短暂的不一致。

【策略4】数据同步写入 MySQL 后,发送消息到消息队列,消费者读取消息并更新 Redis。

  • 优点:解耦,提升可靠性。
  • 缺点:系统复杂度增加。

【策略5】为 Redis 数据设置过期时间,过期后重新从 MySQL 加载。

  • 优点:自动处理不一致。
  • 缺点:过期时间内可能存在不一致。



传统策略(Redis+MySQL)的形式往往需要技术人员定期维护。

目前国内云厂商数据库很多采用磁盘 kv 存储,内存 + 磁盘结合的方式,比如百度智能云 PegaDB、阿里磁盘型 Tair 等等。

相关推荐
倔强的石头_18 小时前
《Kingbase护城河》——跨平台环境下的数据库联调实战
数据库
lzhdim18 小时前
SQL 入门 17:MySQL 数据类型:从字符串到 JSON 的全面解析
数据库·sql·mysql·json
杨云龙UP19 小时前
Oracle RAC / ODA 生产环境指定 PDB 启动 SOP
linux·运维·数据库·oracle
kingwebo'sZone19 小时前
在Cent上安装Mysql 8.0的遇到的问题和解决办法
数据库·mysql·adb
幽络源小助理19 小时前
最新知识付费系统网站源码 PC+H5双端 附安装教程 – 幽络源源码网
大数据·数据库
小白考证进阶中19 小时前
Oracle OCP证书报考&考试全指南
数据库·oracle·oracle ocp·ocp认证·oracle认证·甲骨文认证·oracle ocp题库
Leon-Ning Liu20 小时前
【真实经验分享】 ORA-600 [qesmaGetTblSeg1]
数据库·oracle
与数据交流的路上20 小时前
MySQL 优化 -- 相关
数据库·mysql
Rooting++21 小时前
为什么mysql的表字段的collation会自动变
数据库·mysql
Wch1G0z8A21 小时前
Google 开源了啥,让 AI Agent 碰数据库不再是定时炸弹
数据库·人工智能·开源