Redis缓存应用场景

什么是 Redis

Redis 是一款开源的缓存数据库,它具有以下特点:

  • 读写性能优异(基于内存、IO 的多路复用+单进程)

  • 数据类型丰富(k-v,list,set,zset,hash 等数据结构的存储)。

  • Redis 支持数据的备份。

  • 数据自动过期。

  • 发布订阅。

  • 分布式。

基于这样的特点,在查询数据的时候,使用与不使用Redis的流程也是完全不一样的。

首先我们先来看在不使用 Redis 进行查询操作的时候,后端的查询流程是:

  1. 用户访问页面。

  2. 请求后端服务。

  3. 经过逻辑处理后,去数据库查询信息。

image

在添加 Redis 之后,后端的查询流程是:

  1. 用户访问页面。

  2. 请求后端服务。

  3. 经过逻辑处理后,先去缓存(Redis)中进行查询,如果查到,则直接返回。

  4. 如果没有查到信息,则直接向数据库进行查询,查询到之后,数据库会讲数据信息同步到缓存(Redis)中,以便下次查询。

image

Redis 的应用场景

从以上 Redis 的特点我们可以看出,它适宜的应用场景主要包含:

  • 读多写少,并发强的场景,比如秒杀,明星热点。

  • 有时间性的业务场景,比如短信验证码。

  • 对有序集合数据类型排序,例如排行榜(有序集合数据类型)。

  • 对于时效性要求不高,但是数据库请求较多的场景,比如计数器、社交网络。

  • Session 会话缓存。

  • 消息系统(较少,更多使用专业的消息队列中间件)。

  • 单线程的特点可以天然用作分布式锁。(开发关注)

1 个赞