GEORADIUSBYMEMBER (已弃用)
自 Redis 6.2.0 版本起,此命令被视为已弃用。
在迁移或编写新代码时,可以使用 GEOSEARCH
和 GEOSEARCHSTORE
命令,配合 BYRADIUS
和 FROMMEMBER
参数来替代此命令。
语法
GEORADIUSBYMEMBER key member radius <M | KM | FT | MI> [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count [ANY]] [ASC | DESC] [STORE key | STOREDIST key]
- 可用版本
- Redis 开源版 3.2.0
- 时间复杂度
- O(N+log(M)),其中 N 是由中心点和半径限定的圆形区域边界框内的元素数量,M 是索引中的项目数量。
- ACL 分类
-
@write
,@geo
,@slow
,
此命令与 GEORADIUS
完全相同,唯一的区别在于它不像后者那样将经度和纬度值作为查询区域的中心点,而是使用已存在于有序集合(表示地理空间索引)中的成员名称作为中心点。
指定成员的位置被用作查询的中心点。
请参阅下面的示例以及 GEORADIUS
文档,了解有关此命令及其选项的更多信息。
请注意,自 Redis 3.2.10 和 Redis 4.0.0 版本起也提供了 GEORADIUSBYMEMBER_RO
,以提供可在副本中使用的只读命令。有关更多信息,请参阅 GEORADIUS
页面。
示例
RESP2/RESP3 回复
以下其中一种
- 如果未指定任何
WITH*
选项,则返回包含匹配成员名称的 数组回复。 - 如果指定了
WITHCOORD
、WITHDIST
或WITHHASH
选项,该命令返回一个由数组组成的 数组回复,其中每个子数组代表一个单独的项目。- 与中心点的距离,以浮点数形式表示,单位与半径指定的单位相同。
- Geohash 整数。
- 坐标,以包含两个项(x,y)的数组形式表示 (经度,纬度)。
历史
- 自 Redis 6.2.0 版本起:增加了
COUNT
的ANY
选项。 - 自 Redis 7.0.0 版本起:增加了对大写单位名称的支持。