GEODIST key member1 member2 [unit]

可用版本: >= 3.2.0
复杂度: O(log(N))

返回两个给定位置之间的距离。

如果两个位置之间的其中一个不存在,那么命令返回空值。

指定单位的参数 unit 必须是以下单位的其中一个:

  • m 表示单位为米。

  • km 表示单位为千米。

  • mi 表示单位为英里。

  • ft 表示单位为英尺。

如果用户没有显式地指定单位参数,那么 GEODIST 默认使用米作为单位。

GEODIST 命令在计算距离时会假设地球为完美的球形,在极限情况下,这一假设最大会造成 0.5% 的误差。

返回值

计算出的距离会以双精度浮点数的形式被返回。如果给定的位置元素不存在,那么命令返回空值。

代码示例

  1. redis> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
  2. (integer) 2
  3.  
  4. redis> GEODIST Sicily Palermo Catania
  5. "166274.15156960039"
  6.  
  7. redis> GEODIST Sicily Palermo Catania km
  8. "166.27415156960038"
  9.  
  10. redis> GEODIST Sicily Palermo Catania mi
  11. "103.31822459492736"
  12.  
  13. redis> GEODIST Sicily Foo Bar
  14. (nil)