gpt4 book ai didi

redis - PSUBSCRIBE 和 GEOADD

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

我有一个非常基本的 Redis pubsub 问题,我想 PSUBSCRIBE 到通过 GEOADD 命令添加的项目。这是我所做的:

首先运行 MONITOR 命令。

然后在一个新的控制台中我也运行了:

PSUBSCRIBE __geo:*

然后在我发布的另一个 redis-cli session 中:

GEOADD users 40.0 -73.0 foo

订阅者没有任何反应,但我可以确认该项目是通过 MONITOR 添加的。

最佳答案

3 件事:

1) 确保您拥有正确的键空间事件CONFIG SETCONFIG SET notify-keyspace-events AKE 将获得所有可用于调试的内容,但您很可能只需要 CONFIG SET notify-keyspace-events zE 供您使用案例。

2) 所有 Redis GEO* 命令实际上都是 just a version of a sorted set .他们没有自己的通知。 GEOADD 实际上会像 ZADD 一样出现在 keyevents 消息中。此外,键空间事件的格式略有不同。您需要执行 SUBSCRIBE __keyevent@0__:zadd 来监听 GEOADD 命令。

3) 由于 GEO* 和 Z* 命令实际上是集合,因此不触发写入的命令不会触发键事件。因此,多个 GEOADD 不会产生多个事件。

拿这个:

PubSub 客户端:

SUBSCRIBE __keyevent@0__:zadd
1) "subscribe"
2) "__keyevent@0__:zadd"
3) (integer) 1

普通客户端:GEOADD 用户 40.0 73.0 foo

PubSub 客户端:

1) "message"
2) "__keyevent@0__:zadd"
3) "users"

普通客户端:GEOADD 用户 40.0 73.0 foo

PubSub 客户端:

 (nothing)

关于redis - PSUBSCRIBE 和 GEOADD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47914809/

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