gpt4 book ai didi

Redis 退订

转载 作者:IT王子 更新时间:2023-10-29 06:00:35 26 4
gpt4 key购买 nike

Redis 支持 PUBSUB。订阅非常简单:

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

但是取消订阅似乎是不可能的,因为在订阅时,服务器不接受命令。例如在 Redis 附带的 redis-cli 客户端中,控制权不会返回给客户端,因此如果我键入 unsubscribe 它不会去任何地方。

这似乎是文档、函数或 PEBKAC 问题中的明显错误。给了什么?

版本:

$ ./redis-server --version
Redis server v=2.6.14 sha=00000000:0 malloc=libc bits=64

最佳答案

客户,我相信他们指的是这里的客户名单:

http://redis.io/clients

作为消费过hiredis客户端的人,我推测这个推荐:

Once the client enters the subscribed state it is not supposed to issue any other commands, except for additional SUBSCRIBE, PSUBSCRIBE, UNSUBSCRIBE and PUNSUBSCRIBE commands.

在此页面上:http://redis.io/commands/subscribe仅适用于那些客户。

redis-cli 是这些客户端之一。因此,该评论不是针对 redis-cli 用户的说明。

相反,redis-cli 会阻塞等待总线上的消息(只能通过 ctrl+c 取消订阅)。

如果您要使用不同的客户端(或者更具体地说,如果您正在实现一个客户端),我的猜测是您必须遵守该约定,以便它处于订阅状态(尽管客户端不会不一定会阻塞)。

我认为文档可以更清楚地消除歧义;但是,文档在服务器本身而不是 redis-cli 应用程序上。但是,您可以在文档存储库中进行调整并提交拉取请求。

https://github.com/antirez/redis-doc/blob/master/commands/subscribe.md

关于Redis 退订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17621371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com