发布/订阅是一个非常简单的范例。可以将其想象为您正在广播电台上播放脱口秀节目。这就是发布。您希望至少有一个或多个人会选择您的频道来收听您在广播节目上的消息(订阅),甚至可能做一些事情,但您并不是在与人们交谈directly.
让我们来享受一下 redis-cli 的乐趣吧!
redis 127.0.0.1:6379> PUBLISH myradioshow "Good morning everyone!"
(integer) 0
redis 127.0.0.1:6379> PUBLISH myradioshow "How ya'll doin tonight?"
(integer) 0
redis 127.0.0.1:6379> PUBLISH myradioshow "Hello? Is anyone listening? I'm not wearing pants."
(integer) 0
请注意,没有客户端在您的“myradioshow”频道上接收消息(即响应中的 0)。没有人在听。现在,打开另一个 redis-cli(或者为了更有趣的时间,让朋友打开他们的 redis-cli 并连接到您的服务器)并订阅该频道:
redis 127.0.0.1:6379> SUBSCRIBE myradioshow
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "myradioshow"
3) (integer) 1
返回到原来的 redis-cli 并继续你的表演:
redis 127.0.0.1:6379> PUBLISH myradioshow "Next caller gets a free loaf of bread!"
(integer) 1
注意到最后的“1”了吗?你有一个倾听者!就像魔术一样,在你的 SUBSCRIBE-d 终端中:
1) "message"
2) "myradioshow"
3) "Next caller gets a free loaf of bread!"
当然,实际上,您可能想做一些比告诉客户您不穿裤子的生活方式更有用的事情,例如在服务器上触发事件或运行某种任务/作业。也许不是! :)