zoukankan      html  css  js  c++  java
  • Redis之GEO

    增加地理位置信息
    geoadd key longitude latitude member [longitude latitude member ...]
    longitude、 latitude、 member分别是该地理位置的经度、 纬度、 成员
    示例:geoadd cities:locations 116.28 39.55 beijing
    
    
    获取地理位置信息
    geopos key member [member ...]
    示例:
    geopos cities:locations tianjin
    
    
    获取两个地理位置的距离
    geodist key member1 member2 [unit]
    其中unit代表返回结果的单位, 包含以下四种:
    ·m(meters) 代表米。
    ·km(kilometers) 代表公里。
    ·mi(miles) 代表英里。
    ·ft( feet) 代表尺。
    示例:计算天津到北京的距离, 并以公里为单位
    geodist cities:locations tianjin beijing km
    
    
    获取指定位置范围内的地理信息位置集合
    georadius key longitude latitude radiusm|km|ft|mi [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key] [storedist key]
    georadiusbymember key member radiusm|km|ft|mi [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key] [storedist key]
    georadius和georadiusbymember两个命令的作用是一样的, 都是以一个地理位置为中心算出指定半径内的其他地理信息位置, 不同的是georadius命令的中心位置给出了具体的经纬度, georadiusbymember只需给出成员即可。 其中radiusm|km|ft|mi是必需参数, 指定了半径( 带单位) , 这两个命令有很多可选参数, 如下所示:
    ·withcoord: 返回结果中包含经纬度。
    ·withdist: 返回结果中包含离中心节点位置的距离。
    ·withhash: 返回结果中包含geohash, 有关geohash后面介绍。
    ·COUNT count: 指定返回结果的数量。
    ·asc|desc: 返回结果按照离中心节点的距离做升序或者降序。
    ·store key: 将返回结果的地理位置信息保存到指定键。
    241·storedist key: 将返回结果离中心节点的距离保存到指定键。
    示例:计算五座城市中, 距离北京150公里以内的城市
    georadiusbymember cities:locations beijing 150 km
    
    
    获取geohash
    geohash key member [member ...]
    Redis使用geohash[3]将二维经纬度转换为一维字符串, 下面操作会返回beijing的geohash值。
    > geohash cities:locations beijing
    1) "wx4ww02w070"
    geohash有如下特点:
    ·GEO的数据类型为zset, Redis将所有地理位置信息的geohash存放在zset中。
    ·字符串越长, 表示的位置更精确。
    ·两个字符串越相似, 它们之间的距离越近, Redis利用字符串前缀匹配算法实现相关的命令。
    ·geohash编码和经纬度是可以相互转换的。
    
    
    删除地理位置信息
    zrem key member
    注:GEO没有提供删除成员的命令, 但是因为GEO的底层实现是zset, 所以
    可以借用zrem命令实现对地理位置信息的删除。

    geohash精度与长度对应关系

  • 相关阅读:
    MySQL key分区(五)
    Kolya and Tandem Repeat
    Hadoop源码分析(MapReduce概论)
    写一个随机洗牌函数——概率题
    《说吧,医生》难得的五星级中文原创医学科普。
    《卖体验》:给用户超出预期的体验。营销讲师风格,陷入了锤子模式。三星推荐
    《最大回报:健康投资》:协和医院专家的医疗健康科普书,书有点旧了,水平够专业 三星推荐
    《听体检说:健康都去哪了》:体检项目的科普书,可以当作手册来翻一翻。 三星推荐
    《金融的解释》:深入浅出的金融学入门 三星推荐
    《病有所医当问谁》:市场化是医改大方向,医改的问题是市场化不够 五星推荐
  • 原文地址:https://www.cnblogs.com/MacoLee/p/14066725.html
Copyright © 2011-2022 走看看