Redis 发布订阅

Redis 发布订阅 ( pub/sub ) 是一种消息通信模式,发送者 ( pub ) 发送消息,订阅者 ( sub ) 接收消息。

Redis 客户端可以订阅任意数量的频道。

命令

这些命令被广泛用于构建即时通信应用,比如网络聊天室 ( chatroom ) 和实时广播、实时提醒等。

1、PSUBSCRIBE pattern [pattern]

订阅一个或多个符合给定模式的频道

2、PUBSUB subcommand [argument [argument ...]]

查看订阅与发布系统状态

3、PUBLISH channel message

将信息发送到指定的频道

4、PUNSUBSCRIBE [pattern [pattern ...]]

退订所有给定模式的频道

5、SUBSCRIBE channel [channel ...]

订阅给定的一个或多个频道的信息

6、UNSUBSCRIBE [channel [channel ...]]

退订给定的频道

测试

订阅端:

127.0.0.1:6379> SUBSCRIBE azhang    # 订阅一个频道 azhang
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "azhang"
3) (integer) 1
# 等待读取推送的信息
1) "message"    # 消息
2) "azhang"        # 那个频道的消息
3) "hello,azhang"    # 消息的具体内容

1) "message"
2) "azhang"
3) "hello,redis"

发送端:

127.0.0.1:6379> PUBLISH azhang hello,azhang    # 发布者发布消息到频道
(integer) 1
127.0.0.1:6379> PUBLISH azhang hello,redis    # 发布者发布消息到频道
(integer) 1

使用场景:

1、实时消息系统

2、实时聊天 ( 频道当做聊天室,将信息回显给所有人即可 )

3、订阅,关注系统

稍微复杂的场景就是用消息中间键 MQ ( )