Redis 适合的场景
- 缓存: 减轻 MySQL 的查询压力,提升系统性能
- 排行榜: 利用 Redis 的 SortSet(有序集合) 实现
- 计数器/限速器:利用 Redis 中的原子性的自增操作,我们可以统计类似用户点赞数,用户访问数等,这类操作因为需要频繁的读写,所以使用 MySQL 的话,压力太大了;限速器比较典型的使用场景是限制某个用户访问某个 API 的频率,常用的有抢购时,防止用户疯狂点击带来不必要的压力;
- 好友关系:利用集合的一些命令,例如求交集,并集,差集等,可以方便解决一些共同好友,共同爱好之类的功能;
- 消息队列:利用 list 来实现一个队列机制
- session:根据用户的 key ,在服务器上快速获得用户的 session
Redis 不适合的场景
数据量太大、数据访问频率非常低的业务都不适合使用 Redis,数据太大会增加成本,访问频率太低,保存在内存中纯属浪费资源。