Redis缓存应用场景
什么是Redis
Redis是一款开源的缓存数据库,它具有以下特点:
读写性能优异(基于内存、IO的多路复用+单进程)
数据类型丰富(k-v, list,set,zset,hash等数据结构的存储)
Redis支持数据的备份。
数据自动过期
发布订阅
分布式
基于这样的特点,在查询数据的时候,使用与不适用Redis的流程也是完全不一样的。
首先我们先来看在不使用Redis进行查询操作的时候,后端的查询流程是:
1.用户访问页面
2.请求后端服务
3.经过逻辑处理后,去数据库查询信息。
在添加 Redis 之后,后端的查询流程是:
- 用户访问页面。
- 请求后端服务。
- 经过逻辑处理后,先去缓存(Redis)中进行查询,如果查到,则直接返回。
- 如果没有查到信息,则直接向数据库进行查询,查询到之后,数据库会讲数据信息同步到缓存(Redis)中,以便下次查询。
Redis 的应用场景
从以上 Redis 的特点我们可以看出,它适宜的应用场景主要包含:
- 读多写少,并发强的场景,比如秒杀,明星热点。
- 有时间性的业务场景,比如短信验证码。
- 对有序集合数据类型排序,例如排行榜(有序集合数据类型)。
- 对于时效性要求不高,但是数据库请求较多的场景,比如计数器、社交网络。
- Session 会话缓存。
- 消息系统(较少,更多使用专业的消息队列中间件)。
- 单线程的特点可以天然用作分布式锁。(开发关注)