Redis消息订阅发布

Redis 消息订阅发布

一、是什么

进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

二、命令

序号 命令 描述
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 …]] 指退订给定的频道

三、案例

先订阅后发布后才能收到消息

1 可以一次性订阅多个,SUBSCRIBE c1 c2 c3

2 消息发布,PUBLISH c2 hello-redis

3 订阅多个,通配符 *, PSUBSCRIBE new*

4 收取消息, PUBLISH new1 redis2015

客户端 A

127.0.0.1:6379> SUBSCRIBE c1 c2 c3
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "c1"
3) (integer) 1
1) "subscribe"
2) "c2"
3) (integer) 2
1) "subscribe"
2) "c3"
3) (integer) 3

客户端 B

127.0.0.1:6379> PUBLISH c2 hello-redis
(integer) 1
127.0.0.1:6379> PUBLISH c1 hello1122
(integer) 1

客户端 A 接收到消息

1) "message"
2) "c2"
3) "hello-redis"
1) "message"
2) "c1"
3) "hello1122"

客户端 C

127.0.0.1:6379> PSUBSCRIBE new*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "new*"
3) (integer) 1

客户端 D

127.0.0.1:6379> PUBLISH new1 redis2015
(integer) 1
127.0.0.1:6379> PUBLISH new13 redisnews2016
(integer) 1

客户端 C 接收消息

1) "pmessage"
2) "new*"
3) "new1"
4) "redis2015"
1) "pmessage"
2) "new*"
3) "new13"
4) "redisnews2016"

你可能感兴趣的:(框架学习,redis)