这个 GEO 场景是用 Lua 还是 redisTemplate?

2021-10-27 11:32:16 +08:00
 breadykidliu

用 redis 的 geo 要怎么做?目前已经用 boundGeoOps 存储所有门店名的坐标了
需求,数据有全球的国家 /市 /门店 /坐标,需要根据给定的坐标将门店坐标以及在给定的 key 集合中由近及远排序,并 groupBy 市再 groupBy 国家,市和国家的排序按照其下面列表的第一个门店坐标的距离来排序,这个怎么实现? 结果集类似于如下结构:给定某个坐标

国家 A(门店 A 坐标)
|___城市 A(门店 A 坐标)
    |___门店 A 信息(近)
    	门店 B 信息(远)
        ...
国家 B(门店 C 坐标)
|___城市 B(门店 C 坐标)
    |___门店 C 信息(近)
    	门店 D 信息(远)
        ...
...

看了 georadius 和 georadiusbymember 都是需要设置距离范围的,这里不能设范围的限制,因为是全球范围的门店

1608 次点击
所在节点    程序员
3 条回复
yuhangch
2021-10-27 14:36:45 +08:00
不知道有没有帮助,一个基于 redis 的空间数据库

tile38 https://tile38.com/
breadykidliu
2021-10-27 16:37:35 +08:00
@yuhangch 太重了,不适合
Edward4074
2021-10-28 09:09:37 +08:00
最近刚好在处理类似的需求,我的处理方式是设置一个极限距离(比如 10000km ),不知道有没有更优的做法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/810906

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX