如何保证数据库和缓存的一致性?

如何保证数据库和缓存的一致性?

读多写少的场景

  • 采用旁路缓存的策略
  • 读:先查缓存,没有缓存再查数据库,再写入缓存。
  • 写:先更新数据库,再删除缓存。
    **原因:**如果先更新缓存,数据库还没有更新,可能就被其他应用读到脏数据。

高并发的场景

  • 采用延迟双删:先更新数据库,再删除缓存,隔一段时间后,再次删除缓存。
  • 延时后再删一次,可以解决 "读请求把旧数据回写缓存" 的问题。
相关推荐
PHP实战开发录2 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
红红谈说3 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大
Shadow(⊙o⊙)3 小时前
MySQL索引
数据库·mysql
starzy19904 小时前
Flink 优化之网络缓存优化及参数详解:从数据传输机制到反压原理的生产调优指南
网络·缓存·flink
ShineWinsu4 小时前
对于Redis:string类型的解析
java·c++·redis·分布式·缓存·面试·string
倔强的石头_5 小时前
多环境配置治理:开发、测试、生产连接信息如何隔离
数据库
杨云龙UP5 小时前
一次数据库查询缓慢故障复盘:大表数据增长、SQL全表扫描导致系统响应异常
linux·运维·服务器·数据库·sql·mysql
2501_933670795 小时前
2027 应用统计学秋招选岗指南:统计、SQL、业务指标如何对应岗位
数据库·sql
Alice-YUE6 小时前
向量数据库选型实战:Chroma/Qdrant/Milvus/PgVector 怎么选
数据库·milvus·向量数据库·chroma·rag·qdrant
invicinble6 小时前
python 编程语言 认识维度
开发语言·数据库·python