• 【Redis GEO】1、地理位置类型的基本用法


    1、Redis GEO介绍

    Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。

    Redis GEO 操作方法有:

    • geoadd:添加地理位置的坐标。
    • geopos:获取地理位置的坐标。
    • geodist:计算两个位置之间的距离。
    • georadius:根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。
    • georadiusbymember:根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合。
    • geohash:返回一个或多个位置对象的 geohash 值。

    2、geoadd

    geoadd 用于存储指定的地理空间位置,可以将一个或多个经度(longitude)、纬度(latitude)、位置名称(member)添加到指定的 key 中。geoadd 语法格式如下:

    GEOADD key longitude latitude member [longitude latitude member ...]
    
    • 1

    其中,key 是键名,longitude 和 latitude 是地理位置的经度和纬度,member 是地理位置的成员名,例如:

    GEOADD citys 121.506379 31.245414 "东方明珠广播电视塔"
    
    • 1

    上述命令将【东方明珠广播电视塔】的经度为 121.506379,纬度为 31.245414 的地理位置添加到了名为【citys】的键中,并将其成员名设置为 “东方明珠广播电视塔”

    3、geopos

    geopos 用于从给定的 key 里返回所有指定名称(member)的位置(经度和纬度),不存在的返回 nil。geopos 语法格式如下:

    GEOPOS key member [member ...]
    
    • 1

    其中,key 是键名,member 是地理位置的成员名

    例如,上面我们已经添加了 【东方明珠广播电视塔】的地理位置信息,我们可以使用以下命令获取其经度和纬度:

    GEOPOS citys "东方明珠广播电视塔"
    
    • 1

    上述命令将返回【东方明珠广播电视塔】的经度和纬度,例如:[121.506379,31.245414]

    4、geodist

    geodist 用于返回两个给定位置之间的距离。geodist 语法格式如下:

    GEODIST key member1 member2 [m|km|ft|mi]
    
    • 1

    其中,key 是键名,member1 和 member2 是地理位置的成员名,最后一个参数是距离的单位,默认为 “m”(米)。最后一个距离单位参数说明:

    • m :米,默认单位。
    • km :千米。
    • mi :英里。
    • ft :英尺。

    例如,上面我们已经添加了 【东方明珠广播电视塔】的地理位置信息,我们再添加一个地理位置信息:

    GEOADD citys 121.671964 31.148267 "上海迪士尼度假区"
    
    • 1

    然后,获取两个地理位置的距离:

    GEODIST citys "东方明珠广播电视塔" "上海迪士尼度假区"
    
    • 1

    上述命令将返回【东方明珠广播电视塔】和【上海迪士尼度假区】之间的距离,单位为米。

    5、总结

    本文介绍了 Redis 的地理位置类型(Geo),以及与之相关的命令,包括 GEOADD、GEOPOS、GEODIST 和 INFO。通过 redis-cli 命令行工具,我们可以方便地操作 Redis 的地理位置类型,存储和查询地理位置信息。在实际应用中,地理位置类型可以用于实现附近的人、周边搜索等功能。

    如您在阅读中发现不足,欢迎留言!!!

  • 相关阅读:
    linux之信号量的删除
    java计算机毕业设计虚拟物品交易网站源码+系统+数据库+lw文档
    Docker的部署与基本使用
    LiteFlow 流程引擎
    Spring学习笔记注解式开发(3)
    SQL 行列转换
    听劝!不要啥都不懂就学PMP!这100个考试关键点,带你直击考试现场
    java民宿运营管理网站计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
    Sentinel 部署 配置
    leetcode 830. 较大分组的位置、831. 隐藏个人信息、829. 连续整数求和、828. 统计子串中的唯一字符
  • 原文地址:https://blog.csdn.net/qq_40065776/article/details/133076596