微信扫一扫

028-83195727 , 15928970361
business@forhy.com

跟我学Redis(12)—redis发布与订阅

redis,发布,订阅2016-08-14

发布与订阅(又称pub/sub)的特点是订阅者负责订阅频道(channel),发布者负责向频道发送二进制字符串消息。每当有消息被发送至频道时,频道的所有订阅者都会收到消息。我们也可以把频道看做是电台,其中订阅者可以同时收听多个电台,而发送者则可以在任何电台发送消息。


Redis提供发布与订阅命令。

publish

向给定频道发送消息

语法:publish channel message

redis 127.0.0.1:6379> publish c1 hello
(integer) 0 
redis 127.0.0.1:6379>

subscribe

订阅给定的一个或者多个频道

语法:subscribe channel [channel ... ]

redis 127.0.0.1:6379> subscribe c1 
Reading message... (press Ctrl-C to quit)
1) "subscribe"
2) "c1"
3) (integer) 1
1) "message"
2) "c1"
3) "hello"

先订阅频道c1,当publish c1 hello 时,订阅者会接收到消息

unsubscribe

退订给定的一个或者多个频道,如果执行时没有给定任何频道,那么退订所有的频道

语法:unsubscribe [channel  [channel ... ]]

redis 127.0.0.1:6379> unsubscribe c1
1) "unsubscribe"
2) "c1"
3) (integer) 0

psubscribe

订阅与给定模式想匹配的所有频道

语法:psubscribe pattern [pattern ... ]

redis 127.0.0.1:6379> psubscribe c* 
Reading message... (press Ctrl-C to quit)
1) "psubscribe"
2) "c*"
3) (integer) 1

punsubscribe 

退订给定的模式,如果执行时没有给定任何模式,那么退订所有模式

语法:punsubscribe [pattern [pattern ... ]]

redis 127.0.0.1:6379> punsubscribe c*
1) "punsubscribe"
2) "c*"
3) (integer) 0
redis 127.0.0.1:6379>




扫一扫,通过微信也能学习