Redis三种缓存读写策略

1. Cache Aside Pattern 旁路缓存模式

1.1 读

1.2 写

1.3 为什么要先更新db再删除cache?

缓存的写入速度是比数据库的写入速度快很多,因此相比于先删除cache后更新db带来数据不一致性问题的概率更小。

1.4 特点

  • 平时使用比较多的一个缓存读写模式
  • 同时维系db 和 cache,以db结果为准
  • 首次请求数据一定不在cache

2. Read/Write Through Pattern 读写穿透

2.1 读

2.2 写

2.3 特点

  • 在 Cache-Aside Pattern 之上进行了封装,cache 服务自己来写入缓存,对客户端是透明的
  • 首次请求数据一定不在cache
  • 把 cache 视为主要数据存储
  • 同步更新 cache 和 db

**3.**Write Behind Pattern 异步缓存写入

3.1 特点

  • 只更新缓存,不直接更新 db
  • 采用异步批量的方式来更新 db
  • 写性能非常高,适合数据经常变化但对数据一致性要求不高的场景
相关推荐
小股虫2 分钟前
Redis实现轻量级消息队列:实操手册与项目应用指南
数据库·redis
lllsure6 分钟前
【MySQL】数据库备份与恢复
数据库·mysql
Full Stack Developme7 分钟前
Nginx 代理 mysql redis MQ 等各种软件,供客户端访问链接
redis·mysql·nginx
ttthe_MOon10 分钟前
MySQL 高阶查询语句:子查询、连接查询与多表关联
数据库·sql
不会kao代码的小王18 分钟前
openEuler容器化实战:用Docker和iSulad部署Redis
redis·docker·容器
天下无敌笨笨熊22 分钟前
kotlin函数式编程
开发语言·数据库·kotlin
SHIPKING39330 分钟前
【开发策略】MCP 多表查询策略方案
数据库·oracle
kka杰36 分钟前
MYSQL 事务-1
数据库·mysql·oracle
qq_3168377542 分钟前
uniapp 缓存请求文件时 判断是否有文件缓存 并下载和使用
前端·缓存·uni-app
雨中飘荡的记忆1 小时前
MySQL + Redis 分布式事务消息中间件:保证最终一致性
redis·mysql