参考答案
结论:Redis发布订阅有两种典型实现:1) 原生PUB/SUB(含频道与模式订阅),基于字典维护订阅链表,消息实时推送但不持久化;2) 基于List或Stream模拟的消息队列式发布订阅,如LPUSH+BLPOP或XADD+XREAD,支持持久化和消费组。原理:原生Pub/Sub通过subscribe将客户端加入频道链表,publish遍历链表发送;List/BLPOP为阻塞弹出,Stream提供消费组保证多消费者。差异:原生适合即时广播,无持久化;List/Stream适合可靠消息分发。