GEORADIUSBYMEMBER 命令和 GEORADIUS 命令一样,都可以找出位于指定范围内的元素,但是 GEORADIUSBYMEMBER 的中心点是由给定的位置元素决定的,而不是像 GEORADIUS 那样,使用输入的经度和纬度来决定中心点。
关于 GEORADIUSBYMEMBER 命令的更多信息,请参考 GEORADIUS 命令的文档。
命令格式
GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
可用版本:>=3.2.0
时间复杂度:O(N+log(M)),其中 N 为指定半径范围内的位置元素数量,而 M 则是被返回位置元素的数量
命令返回值
一个数组,数组中的每个项表示一个范围之内的位置元素。
示例
redis> GEOADD Sicily 13.361389 38.115556 Palermo 15.087269 37.502669 Catania
(integer) 2
redis> GEOADD Sicily 13.583333 37.316667 Agrigento
(integer) 1
redis> GEORADIUSBYMEMBER Sicily Agrigento 100 km
1) "Agrigento"
2) "Palermo"