Redis实例的发布订阅功能详细信息参见Pub/Sub,使用Redis发布订阅功能时有如下事项请注意:
- 客户端需要及时消费和处理消息。
客户端订阅了channel之后,如果接收消息不及时,可能导致DCS实例消息堆积,当达到消息堆积阈值(默认值为32MB),或者达到某种程度(默认8MB)一段时间(默认为1分钟)后,服务器端会自动断开该客户端连接,避免导致内部内存耗尽。
- 客户端需要支持重连。
当连接断开之后,客户端需要使用subscribe或者psubscribe重新进行订阅,否则无法继续接收消息。
- 不建议用于消息可靠性要求高的场景中。
Redis的pubsub不是一种可靠的消息系统。当出现客户端连接退出,或者极端情况下服务端发生主备切换时,未消费的消息会被丢弃。