什么是Redis pubsub?如何使用它?

问题描述 投票:37回答:1

[有人问我什么是PubSub,以及如何创建频道(在my answer中作评论),然后我将他指向有关redis.io的文章=> http://redis.io/topics/pubsub。我认为这很清楚,但是我想知道是否有人有更好的解释。理想情况下,请使用redis-cli清楚地描述它。

redis publish-subscribe
1个回答
90
投票

发布/订阅是一个非常简单的范例。就像在广播电台上进行脱口秀一样。那是出版。您希望至少有一个或多个人会选择您的频道来收听广播节目(SUBSCRIBE)上的消息,甚至可能会做一些事情,但您不是在与[人群聊天。让我们玩一下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!"

当然,实际上,您可能想要做的事情要比告诉客户有关您的无裤子生活方式更加有用,例如在服务器上触发事件或运行某种任务/作业。也许不是! :)

0
投票
[[为我工作][1]
© www.soinside.com 2019 - 2024. All rights reserved.