添加地理位置信息
geo add key longitude latitude member [longitude latitude member ...]
127.0.0.1:6379> geoadd cities:locations 116.28 39.55 beijing
(integer) 1 //成功个数
127.0.0.1:6379> geoadd cities:locations 116.28 39.55 beijing
(integer) 0 //因为已经包括beijing,所以返回0
获取地理位置信息
geopos key member [member ...]
127.0.0.1:6379> geopos cities:locations beijing
1) 1) "116.28000229597091675"
2) "39.5500007245470826"
获取两个地理位置的距离
geodist key member1 member2 [unit]
unit代表返回结果的单位
- m 米
- km 公里
- mi 英里
- ft 尺
127.0.0.1:6379> geopos cities:locations beijing
1) 1) "116.28000229597091675"
2) "39.5500007245470826"
127.0.0.1:6379> geodist cities:locations beijing tianjing km
"89.2061"
127.0.0.1:6379> geodist cities:locations beijing tianjing
"89206.0576"
获取指定位置范围内的地理信息位置集合
GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
- WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。 距离的单位和用户给定的范围单位保持一致。
- WITHCOORD: 将位置元素的经度和维度也一并返回。
- WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。 这个选项主要用于底层应用或者调试, 实际中的作用并不大。
- COUNT count 指定返回结果的数量
-
asc desc 按距离中心节点的距离做生序和降序 - store key 将结果的地理位置信息保存到指定键
- storedist key 将返回结果里中心节点的距离保存到指定键
获取geohash
GEOHASH key member [member ...]
返回一个或多个位置元素的 Geohash 表示。
通常使用表示位置的元素使用不同的技术,使用Geohash位置52点整数编码。由于编码和解码过程中所使用的初始最小和最大坐标不同,编码的编码也不同于标准。此命令返回一个标准的Geohash
参考资料
《Redis开发与运维》