GEODIST

返回地理空间索引的两个成员之间的距离。

语法

GEODIST key member1 member2 [M | KM | FT | MI]

引入版本:3.2.0

复杂度摘要:O(1)

返回有序集合表示的地理空间索引中两个成员之间的距离。

给定一个表示地理空间索引的有序集合(使用 GEOADD 命令填充),该命令返回指定单位中两个指定成员之间的距离。

如果一个或两个成员缺失,该命令将返回 NULL。

单位必须是以下之一,默认为米:

  • m 用于仪表。
  • km 代表公里。
  • mi 代表里程。
  • 脚的ft。

距离的计算假设地球是一个完美的球体,因此在边缘情况下可能存在高达 0.5% 的误差。

必需参数

key

保存地理空间索引(有序集合)的键的名称。

member1

第一名成员。

member2

第二位成员。

可选参数

M | KM | FT | MI

返回距离的单位:米(M,默认)、公里(KM)、英尺(FT)或英里(MI)。

示例

redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
(integer) 2
redis> GEODIST Sicily Palermo Catania
"166274.1516"
redis> GEODIST Sicily Palermo Catania km
"166.2742"
redis> GEODIST Sicily Palermo Catania mi
"103.3182"
redis> GEODIST Sicily Foo Bar
(nil)

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动

返回值

RESP2

以下情况之一: * 无回复:缺少一个或两个元素。 * 批量字符串回复:以指定单位表示的双精度型距离(表示为字符串)。

RESP3

以下情况之一: * 空回复:缺少一个或两个元素。 * 批量字符串回复:以指定单位表示的双精度型距离(表示为字符串)。

资料来源:Redis 官方 GEODIST 文档;中文内容参考 Redis 文档许可。