Java 使用georadius根据距离按限制查询用户id
社会各界, 我正在开发一个Flink java应用程序来查询用户之间的距离。我正在使用莴苣框架查询给定的userIDJava 使用georadius根据距离按限制查询用户id,java,redis,apache-flink,geospatial,lettuce,Java,Redis,Apache Flink,Geospatial,Lettuce,社会各界, 我正在开发一个Flink java应用程序来查询用户之间的距离。我正在使用莴苣框架查询给定的userID GEORADIUS <location> <lat> <lon> <radius> <unit>. 格奥尔迪乌斯。 条件->现在想象在给定的参数中有数百万个用户ID 问题->使用莴苣框架查询用户ID的最佳方式是什么,而不是在一次查询中查询一百万用户 我知道排序集有限制,通过它我们可以无缝跟踪最后一个偏移量,并从该点继
GEORADIUS <location> <lat> <lon> <radius> <unit>.
格奥尔迪乌斯。
条件->现在想象在给定的参数中有数百万个用户ID
问题->使用莴苣框架查询用户ID的最佳方式是什么,而不是在一次查询中查询一百万用户
我知道排序集有限制
,通过它我们可以无缝跟踪最后一个偏移量,并从该点继续查询。但是,geo API提供了count
,它只提供了前n个用户ID。我们是否可以使用georadius命令执行类似的操作
或者有没有更好的方法来解决这个问题,我们可以在给定的半径范围内查询userID而不重复结果?
我知道我们可以缩短距离,但是,有没有办法在r1和r2之间转换增量?您可以使用
STORE
或STOREDIST
选项调用GEORADIUS
命令,将结果保存到排序集中。然后您可以使用ZRANGE
命令来迭代结果。谢谢,听起来这是一种公平的方法。我完全跳过了文档中的store和store dist部分。