1. 缓存
用途:存储热点数据,减少数据库压力,提高系统响应速度。
应用场景:
缓存常用的用户信息、配置数据等。
电商平台的商品详情页、热销商品列表缓存。
API 请求结果的缓存以减少后端计算。
2. 分布式锁
用途:实现分布式系统中的同步机制,避免资源竞争。
应用场景:
秒杀系统中,控制用户抢购商品的并发数。
定时任务系统的分布式调度,确保任务不被多次执行。
3. 消息队列
用途:通过 Redis 的 List 或 Stream 实现消息队列功能。
应用场景:
实现简单的生产者-消费者模型。
异步任务处理,比如发送邮件、短信等。
实时数据流处理。
4. 会话管理
用途:存储用户登录会话信息,支持快速读写。
应用场景:
用户认证时,保存 Token 或 Session 信息。
实现单点登录( SSO )功能。
防止 Session 固化,支持分布式负载均衡。
5. 实时排行榜
用途:基于 Redis 的有序集合( Sorted Set ),可以高效实现排名功能。
应用场景:
游戏的实时积分排行榜。
社交平台的热门话题榜单。
电商平台销量或搜索热度排名。
6. 数据分析
用途:利用 Redis 高效的计数功能( HyperLogLog 、Bitmap 等),支持实时统计。
应用场景:
网站独立用户( UV )统计。
实时在线人数统计。
活动参与数据统计。
7. 分布式数据共享
用途:在多个服务间共享数据,避免多次查询或计算。
应用场景:
分布式系统中共享的配置数据。
数据同步工具。
实现轻量级的共享状态管理(如标志位、状态机等)。
8. 地理位置服务
用途:使用 Redis 的 Geo 功能,处理地理位置信息。
应用场景:
附近的人/店铺查询。
基于位置的路径规划或服务推荐。
实现基于地理围栏的功能。
9. 计数器
用途:高效处理需要实时计数的场景。
应用场景:
实时点赞数、播放量统计。
限流操作(如接口调用计数)。
商品库存实时扣减。
10. 发布/订阅
用途:通过 Redis 的 Pub/Sub 模型实现消息的广播和订阅。
应用场景:
实现实时聊天系统。
系统间的消息通知。
多实例间的配置热更新。
11. 延时任务
用途:使用 Sorted Set 或 List 来实现任务的延迟执行。
应用场景:
定时取消未支付的订单。
发送延时提醒或通知。
事件到期的处理逻辑。
12. 流量削峰填谷
用途:结合队列和限流功能,对高并发请求进行缓冲和削峰。
应用场景:
秒杀或抢购系统的请求削峰。
限流策略的实现,例如限 IP 、限用户操作。 |