介绍
redis的发布订阅模式可以实现进程间的消息传递
命令
publish channel message
往指定频道发送消息,如果频道不存在则发送失败,一定要有客户端订阅你发送的频道。subscribe channel [channel ...]
订阅一个或多个频道,只有先订阅才能发送消息psubscribe pattern [pattern ...]
访问一个或多个频道,支持glob风格的通配符unsubscribe [channel [channel ...]]
取消一个或多个订阅,如果不指定频道表示取消所有subscribe命令的订阅punsubscribe [pattern [pattern ...]]
取消一个或多个订阅,如果不指定频道表示取消所有psubscribe命令的订阅。
示例
同时开启两个客户端,分别模拟订阅者和发布者。
subscribe
127.0.0.1:6379> subscribe s1
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "s1"
3) (integer) 1
此时订阅这边会一直等待
publish
我们订阅s1频道并往里面发送一条消息
127.0.0.1:6379> publish s1 hello
(integer) 1
如果返回1表示成功,返回0表示失败
结果
当上面的命令发送成功之后,在订阅者这边可以收到消息。
127.0.0.1:6379> subscribe s1
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "s1"
3) (integer) 1
1) "message"
2) "s1"
3) "hello"