Redis发布及订阅消息

Redis 的 pub sub可以实现邮件系统,发送者(在 Redis 术语中被称为发布者)发送的邮件,而接收器(用户)接收它们。由该消息传送的链路被称为信道。

开启三个连接进行测试
连接1作为发布端
连接2,连接3作为接受端

连接2订阅 msg1 消息

1
2
3
4
5
127.0.0.1:6379> subscribe msg1
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "msg1"
3) (integer) 1

连接3订阅 msg1 msg2 消息

1
2
3
4
5
6
7
8
127.0.0.1:6379> subscribe msg1 msg2
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "msg1"
3) (integer) 1
1) "subscribe"
2) "msg2"
3) (integer) 2

连接1进行消息发布

1
2
publish msg1 asdfghjklqwertyuio
(integer) 2

连接2接收结果

1
2
3
1) "message"
2) "msg1"
3) "asdfghjklqwertyuio"

连接3接收结果

1
2
3
1) "message"
2) "msg1"
3) "asdfghjklqwertyuio"

连接1进行消息发布

1
2
127.0.0.1:6379> publish msg2 1111111111111111111111111111111
(integer) 1

连接2接收结果

1
// 没有接受到消息

连接3接收结果

1
2
3
1) "message"
2) "msg2"
3) "1111111111111111111111111111111"