GEOSEARCHSTORE

用法
GEOSEARCHSTORE destination source [ FROMMEMBER member | FROMLONLAT longitude latitude ] 〈 BYRADIUS radius 〈 m | km | ft | mi 〉 | BYBOX width height 〈 m | km | ft | mi 〉 | BYPOLYGON num-vertices longitude latitude [ longitude latitude ... ] 〉 [ ASC | DESC ] [ COUNT count [ ANY ] ] [ STOREDIST ]
复杂度
O(N+log(M)),其中 N 是围绕作为过滤器提供的形状的网格对齐边界框区域中的元素数量,M 是形状内的项目数量
起始版本
6.2.0
ACL 分类
@geo, @write, @slow

此命令类似于 GEOSEARCH,但将结果存储在目标键中。

此命令取代了现在已弃用的 GEORADIUSGEORADIUSBYMEMBER

默认情况下,它将结果及其地理空间信息存储在 destination 有序集合中。

当使用 STOREDIST 选项时,命令会将项目存储在一个有序集合中,该集合填充了它们与圆形或盒子中心的距离(作为浮点数),单位与该形状指定的单位相同。

示例

127.0.0.1:6379> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
127.0.0.1:6379> GEOADD Sicily 12.758489 38.788135 "edge1"   17.241510 38.788135 "edge2" 
(integer) 2
127.0.0.1:6379> GEOSEARCHSTORE key1 Sicily FROMLONLAT 15 37 BYBOX 400 400 km ASC COUNT 3
(integer) 3
127.0.0.1:6379> GEOSEARCH key1 FROMLONLAT 15 37 BYBOX 400 400 km ASC WITHCOORD WITHDIST WITHHASH
1) 1) "Catania"
   2) "56.4413"
   3) (integer) 3479447370796909
   4) 1) "15.08726745843887329"
      2) "37.50266842333162032"
2) 1) "Palermo"
   2) "190.4424"
   3) (integer) 3479099956230698
   4) 1) "13.36138933897018433"
      2) "38.11555639549629859"
3) 1) "edge2"
   2) "279.7403"
   3) (integer) 3481342659049484
   4) 1) "17.24151045083999634"
      2) "38.78813451624225195"
127.0.0.1:6379> GEOSEARCHSTORE key2 Sicily FROMLONLAT 15 37 BYBOX 400 400 km ASC COUNT 3 STOREDIST
(integer) 3
127.0.0.1:6379> ZRANGE key2 0 -1 WITHSCORES
1) "Catania"
2) "56.4412578701582"
3) "Palermo"
4) "190.44242984775784"
5) "edge2"
6) "279.7403417843143"

RESP2/RESP3 回复

整数回复:结果集合中的元素数量

历史

版本 更改
7.0.0

增加了对大写单位名称的支持。

9.0.0

增加了对 BYPOLYGON 选项的支持。