redis Geo

Geo是redis 3.2添加的特性,用于记录地理信息相关的功能。

用来存储经纬度、计算两地距离、范围计算等

 

例如:

20200508124704

geoadd? 用来添加地理位置信息

geo key? 经度? 纬度? 城市

geo? cities:locations? ?116.28? 39.55? beijing

 

geopos? ?获取一个位置的经纬度

geopos? key? 城市

geopos??cities:locations? beijing

 

geodist? 获取两个位置的距离

geodist? key? 位置1? 位置2? ? 【unit:m米、km千米、mi英里、ft尺】

geodist??cities:locations??beijing? ?tianjin? ?m

 

georadius? ?传入经纬坐标可以查看半径内的地址坐标

GEORADIUS key 经度? 纬度??radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count]

  • WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。 距离的单位和用户给定的范围单位保持一致。
  • WITHCOORD: 将位置元素的经度和维度也一并返回。
  • WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。 这个选项主要用于底层应用或者调试, 实际中的作用并不大。
  • count:设置返回的位置的数量,默认全部返回。

 

 

 

georadiusbymember? ?获取指定半径位置元素的集合,和georadius不同的是,它传入的参数是地址名称。而不是经纬坐标。

georadiusbymember??cities:locations? ?beijing? 150 km

返回

beijing

tianjin

tangshan

 

发表评论