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

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

读多写少的场景

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

高并发的场景

  • 采用延迟双删:先更新数据库,再删除缓存,隔一段时间后,再次删除缓存。
  • 延时后再删一次,可以解决 "读请求把旧数据回写缓存" 的问题。
相关推荐
wdfk_prog14 小时前
闹钟定时器(Alarm Timer)初始化:构建可挂起的定时器基础框架
java·linux·数据库
许长安14 小时前
Redis(二)——Redis协议与异步方式
数据库·redis·junit
java_python源码15 小时前
python高校心理健康服务小程序(源码+文档+调试+基础修改+答疑)
数据库·sqlite
简色15 小时前
题库批量(文件)导入的全链路优化实践
java·数据库·mysql·mybatis·java-rabbitmq
Lisonseekpan16 小时前
Java Caffeine 高性能缓存库详解与使用案例
java·后端·spring·缓存
点灯小铭16 小时前
基于单片机的自动存包柜设计
数据库·单片机·mongodb·毕业设计·课程设计
失散1316 小时前
软件设计师——09 数据库技术基础
数据库·软考·软件设计师
养生技术人16 小时前
Oracle OCP认证考试题目详解082系列第53题
数据库·sql·oracle·database·开闭原则·ocp
银帅1833503097117 小时前
2018年下半年试题四:论NoSQL数据库技术及其应用
数据库·架构·nosql
liu****17 小时前
基于websocket的多用户网页五子棋(九)
服务器·网络·数据库·c++·websocket·网络协议·个人开发