Redis 通常应用于哪些场景?

Redis 本质上是一个高性能内存数据库(key-value) ,特点是:快(微秒级)、支持多种数据结构、支持持久化和分布式。所以它常用于一些"对性能要求高、读写频繁"的场景。


一、缓存(最核心场景)

👉 90% 的 Redis 使用都是做缓存

用法:

  • 查询数据库 → 放入 Redis
  • 下次直接从 Redis 读

典型场景:

  • 商品详情页
  • 用户信息
  • 配置数据

解决的问题:

  • 减轻数据库压力
  • 提高响应速度(毫秒 → 微秒)

二、分布式锁

👉 多服务/多线程抢资源时用

用法:

  • 利用 SETNX 或 SET key value NX EX

场景:

  • 秒杀系统(防止超卖)
  • 定时任务只执行一次
  • 防止重复提交

三、计数器(高并发统计)

👉 Redis 原子操作非常适合计数

用法:

  • INCR / DECR

场景:

  • 点赞数
  • 浏览量(PV)
  • 接口访问次数(限流基础)

四、排行榜 / 排序

👉 使用 有序集合(ZSet)

场景:

  • 游戏积分排行榜
  • 热门文章排序
  • 热搜榜

特点:

  • 自动排序
  • 支持按分数范围查询

五、消息队列(轻量 MQ)

👉 Redis 也能做简单队列

用法:

  • List:LPUSH + RPOP
  • Stream(更专业)

场景:

  • 异步处理(下单后发短信)
  • 削峰填谷(高并发缓冲)

但复杂场景一般用 Kafka / RabbitMQ


六、Session 共享(登录状态)

👉 分布式系统必用

场景:

  • 多台服务器共享登录状态

原理:

  • 用户登录信息存 Redis
  • 所有服务都能访问

七、限流(防刷接口)

👉 常用在网关/接口层

实现方式:

  • 计数 + 过期时间
  • 滑动窗口(ZSet)

场景:

  • 登录接口限制
  • 短信验证码发送限制
  • API 防攻击

八、地理位置(LBS)

👉 Redis 自带 GEO

场景:

  • 附近的人
  • 附近的店铺
  • 外卖/打车

九、缓存热点数据(热点Key)

👉 高并发系统常见问题

场景:

  • 热门商品
  • 秒杀商品
  • 首页推荐

十、布隆过滤器(防缓存穿透)

👉 避免无效查询打到数据库

场景:

  • 查询不存在的数据(恶意攻击)
  • 大规模ID校验

总结一句话(面试用🔥)

👉
Redis 主要用于:缓存、分布式锁、计数器、排行榜、消息队列、Session共享、限流、地理位置等高并发、高性能场景。


再给你一个"程序员思维版总结"

如果你写系统,可以这么理解:

  • 读多写少 → 用 Redis 做缓存
  • 抢资源 → 用 Redis 锁
  • 统计数据 → 用 Redis 计数
  • 需要排序 → 用 ZSet
  • 异步削峰 → 用 Redis 队列
  • 分布式登录 → 用 Redis 存 Session

相关推荐
李兆龙的博客2 小时前
问津集 #26:Lakebase——Postgres 的版本化页面存储、数据库分支与计算弹性
数据库
志尊宝3 小时前
Vue3 零基础每日笔记(073):keep-alive 页面缓存实战——列表页返回不丢状态
vue.js·笔记·缓存·#vue #前端 #前端开发·#javascript·#vue.js
倔强的石头_4 小时前
聊聊金仓KFS:一款把数据同步软件做扎实的产品
数据库
闲云野鹤在人间4 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
禾小西4 小时前
Redis:从两大维度和三大主线建立知识体系
数据库·redis·缓存
禾小西5 小时前
Redis 数据结构:快速的 Redis 有哪些慢操作?
数据结构·数据库·redis
数据库小学妹5 小时前
数据共享交换平台选型:交换方式对比与避坑指南
数据库·信创·数据同步·数据交换平台·政务数据共享·数据共享交换平台·数据库底座
loong_XL7 小时前
决策模型做内容安全检测:从踩坑到上线
数据库·安全·jev·决策模型
这个DBA有点耶7 小时前
数据库双轨并行实战:全量并行策略、增量延迟控制、双向回切与一致性校验
数据库·架构·dba
adinnet20267 小时前
保单、赔付与渠道问数:保险经营数据如何实现按需查询
大数据·数据库·人工智能