首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Redis05】高级数据类型-GEO

【Redis05】高级数据类型-GEO

作者头像
JuneBao
发布2022-10-26 14:37:26
发布2022-10-26 14:37:26
3620
举报
文章被收录于专栏:JuneBaoJuneBao

GEO

GEO即地址信息定位,可以用来存储经纬度,计算两地距离,范围计算等。这意味着我们可以使⽤ Redis 来实现美团和饿了么「附近的餐馆」,微信摇一摇等功能了。

常用API

  1. GEOADD key logitude latitude member[ logitude1 latitude1 member1...]: 增加地理位置信息
代码语言:javascript
复制
127.0.0.1:8100> geoadd cities 12.28 55.41 test
(integer) 1
  1. geopos key member [member…] 获取地理位置信息
代码语言:javascript
复制
127.0.0.1:8100> geopos cities test
1) 1) "12.27999776601791382"
   2) "55.40999942120450328
  1. geodist key member1 member2 [unit] 获取两个地理位置的距离,unit:m(米),km(千米),mi(英里),ft(尺)
代码语言:javascript
复制
127.0.0.1:8100> geodist cities test baiying km
"6910.1248"
  1. georedius key longitude latitude radiusm|km|ft|mi [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key][storedist key]
  2. georadiusbymember 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:将返回结果距离中心节点的距离保存到指定键

注意:

  1. Redis的GEO功能是从3.2版本添加
  2. geo功能基于zset实现
  3. geo没有删除命令
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-2-24,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GEO
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档