Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

Redis GEODIST 命令

Redis 地理(Geo) Redis 地理(Geo)


GEODIST 命令返回两个给定位置之间的距离。如果两个位置之间最少一个不存在, 那么命令返回 NULL。

命令格式

GEODIST key member1 member2 [unit]

可用版本:>=3.2.0

时间复杂度:O(log(N))

指定单位的参数 unit 必须是以下单位的其中一个,默认是米(meter):

  • m表示单位为米
  • km表示单位为千米
  • mi表示单位为英里
  • ft表示单位为英尺

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

命令返回值

计算出的距离会以双精度浮点数的形式被返回。

如果给定的位置元素不存在,那么命令返回 NULL。

例子

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)