使用Georadius根据距离按限制查询用户ID

问题描述

StackOverflow社区,

我正在研究Flink Java应用程序以查询用户之间的距离。我正在使用生菜框架来查询给定的用户ID

GEORADIUS <location> <lat> <lon> <radius> <unit>.

条件->现在,假设给定参数中有数百万个用户ID。

问题->使用生菜框架查询用户ID而不在单个查询中查询一百万个用户的最佳方法是什么?

我知道排序后的集合具有limit,通过它们我们可以无缝跟踪最后的偏移量并从该点继续查询。但是,geo API提供的count仅提供了前n个用户ID。我们可以使用georadius命令执行类似的操作吗?

还是有更好的方法来解决该问题,即我们可以查询userID而不在给定的半径范围内重复结果? 我知道我们可以减小距离,但是,有没有办法在r1和r2之间增加门三角洲?

解决方法

您可以使用GEORADIUSSTORE选项调用STOREDIST命令,以将结果保存到排序集中。然后,您可以使用ZRANGE命令来迭代结果。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...