Yihui’s Blog

Redis可以做消息队列吗?什么时候能用Redis做消息队列?

日期:2026-09-27
标签:#面试 #场景设计 #Redis
难度:中等
来源:牛面场景题
答案说明:根据可访问的题目详情改写

一句话答案

Redis能承担轻量消息传递;List、Pub/Sub和Streams的交付能力不同,可靠性要求高时要认真评估持久化、确认和故障切换。

面试回答要点

  • List适合简单队列,但确认、重试和消费组能力需要自行补齐。
  • Pub/Sub是实时广播,订阅者离线时不会补收历史消息。
  • Streams提供消费组、待确认消息与确认操作;仍要设计持久化、幂等和灾难恢复。

自测

  • 不看笔记,用 60 秒回答:Redis可以做消息队列吗?什么时候能用Redis做消息队列?
  • 结合一个真实业务场景说明取舍、失败情况和监控指标。
Maintained by · YihuiEdit on GitHub

Keep reading

View all posts

如何为Redis分布式锁设置合理的超时时间?

日期:2026-09-27 标签:#面试 #场景设计 #Redis 难度:中等 来源:牛面场景题 答案说明:独立整理(站内题目标记为 VIP,未读取会员答案) 一句话答案 租约应覆盖可预期的执行、暂停与网络抖动,同时限制故障后的等待;没有可靠耗时上界时用有身份校验的受控续期,并在业务资源侧防止旧执行者写入。 面试…

Read article

怎么用Redis实现可重入的分布式锁?

日期:2026-09-27 标签:#面试 #场景设计 #Redis 难度:中等 来源:牛面场景题 答案说明:独立整理(站内题目标记为 VIP,未读取会员答案) 一句话答案 为同一把锁保存“本次最外层获锁的唯一令牌 + 重入次数 + 租约”;嵌套调用共享该令牌并原子递增,释放时递减,次数归零才删除。新一轮独立获锁必…

Read article

基于 Redis 实现分布式锁有什么优缺点?

日期:2026-09-27 标签:#面试 #场景设计 #Redis 难度:简单 来源:牛面场景题 答案说明:独立整理(站内题目标记为 VIP,未读取会员答案) 一句话答案 Redis 锁接入简单、响应快,适合容忍少量故障窗口内重复执行的任务;租约过期与主从切换可能破坏互斥,关键写入还须在资源侧拒绝旧持有者。 面试…

Read article