前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis系统学习之三种特殊数据类型(geospatial(地理位置))

Redis系统学习之三种特殊数据类型(geospatial(地理位置))

作者头像
彼岸舞
修改2023-09-25 15:26:26
8980
修改2023-09-25 15:26:26
举报

geospatial(地理位置)

  • 朋友的定位,附近的人,打车距离计算,主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。
添加地理位置
  • geoadd key 经度 纬度 城市名称[多个添加,经纬度城市名称循环]
    • 两级(南极和北极)无法添加,一般通过程序导入
    • 添加北京位置
    image.png
    image.png
    • 添加河北和上海位置
    image.png
    image.png
获取地理位置
  • geopos key value
    • 获取北京和上海的位置
    image.png
    image.png
计算两个位置之间的距离(直线距离[笑哭,谁会查直线距离])
  • geodist key 位置1 位置2 [m|km|ft|mi](单位)
    • m :米,默认单位。
    • km :千米。
    • mi :英里。
    • ft :英尺。
    • 计算河北和北京之间的距离,单位为千米
    image.png
    image.png
以指定的经纬度为中心,找出某一半径内的元素
  • GEORADIUS key 维度 经度 半径长度 m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC]
  • GEORADIUSBYMEMBER key 位置名称 .... 和上面的georadius一样 只不过是把经纬度换成了已存在的地理位置名称
    • m :米,默认单位。
    • km :千米。
    • mi :英里。
    • ft :英尺。
    • WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。
    • WITHCOORD: 将位置元素的经度和维度也一并返回。
    • WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。 这个选项主要用于底层应用或者调试, 实际中的作用并不大。
    • COUNT 限定返回的记录数。
    • ASC: 查找结果根据距离从近到远排序。
    • DESC: 查找结果根据从远到近排序。
    • 搜索经度110 维度30 附近1000km内的位置,或者2000米的位置
    • 可以用于做附近的人,比如附近100m内的玩家XXX,感觉王者是不是这么做的
    image.png
    image.png
返回一个或多个地理位置的11位的哈希值(一般用不到)
  • geohash key value[value循环,多个空格拆分]
    image.png
    image.png
其他命令,底层是用Zset实现的,可以用zset的删除和查看等命令
  • 查看
    image.png
    image.png
  • 删除
    image.png
    image.png
  • .......
使用场景
  • 计算两地之间的直线距离
  • 存储地理位置
  • 实现位置的附近人功能

作者:彼岸舞

时间:2021\05\05

内容关于:Redis

本文属于作者原创,未经允许,禁止转发

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-05-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • geospatial(地理位置)
    • 添加地理位置
      • 获取地理位置
        • 计算两个位置之间的距离(直线距离[笑哭,谁会查直线距离])
          • 以指定的经纬度为中心,找出某一半径内的元素
            • 返回一个或多个地理位置的11位的哈希值(一般用不到)
              • 其他命令,底层是用Zset实现的,可以用zset的删除和查看等命令
                • 使用场景
                相关产品与服务
                云数据库 Redis
                腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档