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

 

发表评论