> GEOADD 添加地理位置 网站:[https://www.redis.net.cn/order/](https://www.redis.net.cn/order/) ~~~ 参数key 值 (维度 经度) GEOADD china:city 116.40 39.90 beijin 121.47 31.23 shanghai 106.50 29.53 chongqin 114.05 22.52 shengzheng 120.16 30.24 hangzhou 108.96 34.26 xian ​ ~~~ > GEOPOS 获取位置元素的位置(经度和纬度) ~~~ 127.0.0.1:6379> GEOPOS china:city beijin 1) 1) "116.39999896287918091"   2) "39.90000009167092543" ~~~ > # GEODIST 命令 - 返回两个给定位置之间的距离 ~~~ 127.0.0.1:6379> GEODIST china:city beijin shanghai km //北京到上海的直线距离 "1067.3788" m 表示单位为米。 km 表示单位为千米。 mi 表示单位为英里。 ft 表示单位为英尺。 ~~~ > GEORADIUS以给定的经纬度为中心, 找出某一半径内的元素:例如附近的人 ~~~ 127.0.0.1:6379> GEORADIUS china:city 110 30 500 km //以100,30 这个经度位中心查找方圆 500km的城市 1) "chongqin" 2) "xian" ​ 127.0.0.1:6379> GEORADIUS china:city 110 30 500 km withcoord //显示他人的定位信息 1) 1) "chongqin"   2) 1) "106.49999767541885376"      2) "29.52999957900659211" 2) 1) "xian"   2) 1) "108.96000176668167114"      2) "34.25999964418929977" 127.0.0.1:6379> GEORADIUS china:city 110 30 500 km withdist //显示到中间的位置 1) 1) "chongqin"   2) "341.9374" 2) 1) "xian"   2) "483.8340" ​ 127.0.0.1:6379> GEORADIUS china:city 110 30 500 km withdist withcoord count 1 //筛选出指定的结果 1) 1) "chongqin"   2) "341.9374"   3) 1) "106.49999767541885376"      2) "29.52999957900659211" ~~~ > # GEORADIUSBYMEMBER ~~~ 127.0.0.1:6379> GEORADIUSBYMEMBER china:city shanghai 400 km //找出位于指定元素周围的其他元素 1) "hangzhou" 2) "shanghai" ~~~ > ##### GEOHASH 命令 - 原理就是将二维经纬度转换为一个11位字符串 ,如果两个字符串越接近 距离越近 ~~~ 127.0.0.1:6379> GEOHASH china:city beijin chongqin 1) "wx4fbxxfke0" 2) "wm5xzrybty0" ~~~ **注意:geo底层就是zset,所以zset所有指令可以用于geo**