Redis geo计算距离

首先redis版本必须在3.2版本,在地球上适用

  • 有效的纬度从-85.05112878度到85.05112878度。
  • 有效的经度从-180度到180度。首先redis版本必须在3.2版本。

    主要命令:

  • GEOADD 添加元素位置信息;
  • GEOPOS 查询元素经纬度信息;
  • GEODIST 查询两个元素的直线距离;
  • GEORADIUS 查询附近一定距离内的元素信息。
  • georadiusbymember给出一个元素,查询距离元素一定距离内的元素信息
  • 添加的经纬度位置到company

  • 添加位置position,lingnan,dongfang,shenzhen,nanhai到company里面
    
    geoadd company 113.12249 23.00944 position
    
    geoadd company 113.11887017807534 23.033132481330853 lingnan
    
    geoadd company 113.12721964204987 23.044148676499727 dongfang
    
    geoadd company 104.06790 30.61459 shenzhen
    
    geoadd company 113.16108385262125 23.04167029355994 nanhai
  • 查看位置的经纬度

  • 查询单个位置lingnan的经纬度
    127.0.0.1:6379> geopos company lingnan
    1) 1) "113.11886876821517944"
       2) "23.03313157416811663"
    
    
    查询多个位置lingnan和nanhai的经纬度
    127.0.0.1:6379> geopos company lingnan nanhai
    1) 1) "113.11886876821517944"
       2) "23.03313157416811663"
    2) 1) "113.16108137369155884"
       2) "23.04167104975392988"
    

  • 计算两个位置之间的距离

  • 查询lingnan到nanhai的距离(默认单位m米,支持km , mi英里,ft英尺)
    127.0.0.1:6379> geodist company lingnan nanhai 
    "4423.8780"
    
    指定单位km
    127.0.0.1:6379> geodist company lingnan nanhai km
    "4.4239"

  • GEORADIUS 查询附近一定距离内的元素信息

  • 查询距离113.12249 23.00944 10KM内的公司
    127.0.0.1:6379> georadius company 113.12249 23.00944 10 km
    1) "position"
    2) "lingnan"
    3) "dongfang"
    4) "nanhai"

  • georadiusbymember查询距离nanhai 5km范围内的元素

  • 查询距离nanhai 5km范围内的元素
    127.0.0.1:6379> georadiusbymember company nanhai 5 km
    1) "lingnan"
    2) "dongfang"
    3) "nanhai

    文档地址 http://www.redis.cn/documentation.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值