gpt4 book ai didi

python - redis publish 是如何工作的?

转载 作者:可可西里 更新时间:2023-11-01 11:05:11 24 4
gpt4 key购买 nike

假设有一个 redis-client 正在订阅 channel c1 并且另一个 redis-client 将“数据”发布到 channel c1

此时,当订阅“c1”的客户端获取数据(通过调用pubsub.listen()pubsub .get_message()) 还是直接到客户端通过redis服务器订阅 channel c1

换句话说,当redis-client调用pubsub.getMessage()pubsub.listen()时,redis-client是否向redis-server发送请求获取数据还是仅从本地套接字缓冲区获取数据?

当我阅读一些文档时,它说 pubsub.get_message() 在内部使用 select 模块作为套接字。

好像是订阅的数据已经在客户端本地缓冲区,而不是服务器。

你能给我什么建议吗?

最佳答案

当客户端执行 PUBLISH 时, 此命令立即将消息推送到所有对其感兴趣的套接字中。消息不存储在redis中。如果客户在发布时未订阅,他将永远不会看到该消息。

我不熟悉 redis 的 python 驱动程序,但从名称来看,我猜 listen 发送一个 SUBSCRIBE 命令和 get_message 从本地缓冲区获取消息。

关于python - redis publish 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34510980/

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