4

使用 redis-cli 进入“发布/订阅”模式后,我找不到任何订阅其他频道的方法。例如:

$ redis-cli
redis> SUBSCRIBE channel:1
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "channel:1"
3) (integer) 1

当我按下 Ctrl-C 时,redis-cli 退出而不是“pub/sub”模式。有谁知道如何解决这个问题?

4

3 回答 3

3

实际上, SUBSCRIBEPSUBSCRIBE都会阻止所有后续命令,因此您不能将任何订单发送到服务器,而是将您的热切目光投向等待您感兴趣的频道接收消息。好吧,这种荒谬的行为也让我头晕目眩。但是,如果您尝试通过 telnettelnet localhost 6379而不是 redis-cli 的方式访问 redis。一切都会变好。请检查一下。

于 2014-02-20T06:59:54.690 回答
2

AFAIK,订阅频道后,您无法在 redis-cli 中发出新命令。但是,SUBSCRIBE命令从 2.4 版本开始是可变参数的,这意味着您可以一次通过多个频道来订阅:

redis 127.0.0.1:6379> SUBSCRIBE channel:1 channel:2
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "channel:1"
3) (integer) 1
1) "subscribe"
2) "channel:2"
3) (integer) 2
于 2012-11-20T15:36:08.533 回答
0

这是的问题redis-cli,而不是 Redis的问题。

Redis 说我们可以在发出SUBSCRIBE一个之后再发出一个SUBSCRIBE。但是,redis-cli阻止一切。

因此,正如@user1611552 所建议的,我们可以使用

telnet localhost 6379

而不是redis-cli, 一切都会好起来的。

于 2020-04-14T10:10:14.897 回答