【十五】redis衍生数据结构之GEO

GEO是redis3.2添加的一个特性。

用于计算地理位置信息相关的一些功能。

GEO可以用于存储经纬度、计算两地之间的距离、范围计算等。

GEO其实是使用zset来实现的。

比如在删除的时候可以使用zset的相关命令

zram key member

命令

geoadd key longitude latitude member 添加地理位置信息

node1:0>geoadd cities:locations 116.28 node1:0>39.55 beijing
"1"


node1:0>geoadd cities:locations 117.12 39.08 tianjin
"1"


node1:0>geoadd cities:locations 114.29 38.02 shijiazhuang 118.01 39.38 tangshan
"2"

node1:0>geoadd cities:locations 115.29 38.51 baoding
"1"

geopos key member [member...]  获取地理位置信息

geodist key member1 member2 [unit]  获取两个地理位置的距离 unit:m米 km千米 mi英里 ft尺

georadius key longitude latitude radiusm|km|ft|mi [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key] [storedist key] 

georadius key member radiusm|km|ft|mi [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key] [storedist key] 

获取指定范围内的地理位置信息集合

withcoord:返回结果中包含经纬度

withdist:返回结果中包含距离中心节点位置

withhash:返回结果中包含geohash

COUNT count:指定返回结果的数量

asc|desc : 返回结果按照距离中心节点的距离做升序或者降序

store key :将返回结果的地理位置信息保存到指定键中

storedist key:将返回结果距离中心节点的距离保存到指定键

例子cities:locations中距离beijing 150km内的城市

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值