Redis 发布订阅
面试官问:"Redis 的发布订阅怎么用?"
小陈说:"PUBLISH 和 SUBSCRIBE。"
面试官追问:"Pub/Sub 和消息队列有什么区别?"
小陈说:"...都是发消息的?"
面试官继续追问:"Pub/Sub 消息会持久化吗?"
小陈答不上来。
Redis Pub/Sub 是 Redis 的消息发布订阅机制。这道题能说清楚 Pub/Sub vs 消息队列的区别的候选人,对 Redis 的消息通信机制有实战理解。
一、Pub/Sub 基础 🔴
1.1 基本用法
1.2 模式订阅
二、Pub/Sub vs 消息队列 🟡
2.1 核心区别
2.2 Pub/Sub 的局限性
2.3 ❌ 错误示范
候选人原话:"Redis Pub/Sub 就是消息队列。"
问题诊断:Pub/Sub 和消息队列是不同的。Pub/Sub 是广播模式,无持久化;消息队列(如 Kafka/RabbitMQ)有持久化、消息确认、堆积处理。
【面试官心理】 这道题我会问"如果订阅者挂了没收到消息怎么办"。能说清楚 Pub/Sub 无持久化的候选人才是真正理解了这个机制。
三、Redis Streams 🟢
3.1 Redis Streams 简介
3.2 Streams vs Pub/Sub
【面试官心理】 Redis Streams 是 Redis 5.0 的新特性。能说清楚 Streams 弥补了 Pub/Sub 哪些不足的候选人,说明他对 Redis 的消息机制有完整理解。