iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Redis之GEO存储地理位置信息的使用
  • 582
分享到

Redis之GEO存储地理位置信息的使用

2024-04-02 19:04:59 582人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录常用apigeoaddgeoposgeodistgeoradiusbymembergeohash在外卖软件中的附近的美食店铺、外卖小哥的距离,打车软件附近的车辆,交友软件中附近的

在外卖软件中的附近的美食店铺、外卖小哥的距离,打车软件附近的车辆,交友软件中附近的小姐姐。我们都可以利用Redis的GEO地理位置计算得出。

1、Redis 的 Geo 是在 3.2 版本才有的

2、使用 geohash 保存地理位置的坐标

3、使用有序集合(zset)保存地理位置的集合

常用API

命令 描述
geoadd 增加某个地理位置的坐标
geopos 获取某个地理位置的坐标
geodist 获取某个地理位置的坐标
georadius 根据给定地理位置坐标获取指定范围内的地理位置集合
georadiusbymember 根据给定地理位置获取指定范围内的地理位置集合
geohash 获取某个地理位置的 geohash 值

geoadd

API:geo key longitude latitude member [longitude latitude member ..]

功能:增加地理位置信息

演示:


127.0.0.1:6379> geoadd cities:locations 116.28 39.55 beijing
(integer) 1
127.0.0.1:6379> geoadd cities:locations 116.28 39.55 beijing
(integer) 0
127.0.0.1:6379> geoadd cities:locations 117.12 39.08 tianjin
(integer) 1
127.0.0.1:6379> geoadd cities:locations 114.29 38.02 shijiazhuang 118.01 39.38 tangshan 115.29 38.51 baoding
(integer) 3

geopos

API:geopos key member [member]

功能:增加地理位置信息

演示:


127.0.0.1:6379>  geopos cities:locations beijing
1) 1) "116.28000229597091675"
   2) "39.5500007245470826"
127.0.0.1:6379>  geopos cities:locations beijing tianjin
1) 1) "116.28000229597091675"
   2) "39.5500007245470826"
2) 1) "117.12000042200088501"
   2) "39.0800000535766543"

geodist

API:geodsit key member member1 member2

功能:获取两个地理位置的距离

#unit:m(米)、km(千米)、mi(英里)、ft(尺)

演示:


127.0.0.1:6379> geodist cities:locations beijing tianjin km
"89.2061"

georadiusbymember

API:georadiusbymember key member raidusm|km|ft|mi [withcoord][withdist][withhash][COUNT count][asc|desc][store key][storedist key]

功能:获取两个地理位置的距离

参数:

  • withcoord:返回结果中包含经纬度
  • withdist:返回结果中包含距离中心节点位置
  • withhash:返回结果中包含geohash
  • COUNT count:指定返回结果的数量
  • asc|desc:返回结果按照距离中心节点距离做升序或者倒序排列
  • store key:将返回结果的地理位置信息保存到制定key
  • storedist key:将返回结果距离中心节点的距离保存到指定键

演示:

查询距离北京550千米以内的所有城市,并按距离升序排列


127.0.0.1:6379> georadiusbymember cities:locations beijing 550 km  withdist asc
1) 1) "beijing"
   2) "0.0000"
2) 1) "tianjin"
   2) "89.2061"
3) 1) "baoding"
   2) "143.8646"
4) 1) "tangshan"
   2) "149.7479"
5) 1) "shijiazhuang"
   2) "242.3263"

geohash

API:geopos key member [member]

功能:获取某个地方的哈希值

演示:


127.0.0.1:6379> geohash cities:locations beijing
1) "wx48ypbe2q0"

到此这篇关于Redis之GEO存储地理位置信息的使用的文章就介绍到这了,更多相关Redis GEO存储地理位置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Redis之GEO存储地理位置信息的使用

本文链接: https://www.lsjlt.com/news/154939.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Redis之GEO存储地理位置信息的使用
    目录常用APIgeoaddgeoposgeodistgeoradiusbymembergeohash在外卖软件中的附近的美食店铺、外卖小哥的距离,打车软件附近的车辆,交友软件中附近的...
    99+
    2022-11-12
  • Redis中的GEO地理位置模块怎么用
    这篇文章主要介绍了Redis中的GEO地理位置模块怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。GEO是 Redis 在3.2版本之后...
    99+
    2022-10-19
  • SpringBoot使用ip2region获取地理位置信息的方法
    目录1、简介2、引入依赖3、测试4、测试结果1、简介 ip2region,准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java,php...
    99+
    2022-11-13
  • SpringBoot如何使用ip2region获取地理位置信息
    这篇文章主要介绍了SpringBoot如何使用ip2region获取地理位置信息的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot如何使用ip2region获取地理位置信息文章都会有所收获,下面...
    99+
    2023-07-02
  • SpringBoot怎么使用ip2region获取地理位置信息
    本篇内容介绍了“SpringBoot怎么使用ip2region获取地理位置信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、简介ip2r...
    99+
    2023-07-06
  • 使用redis数据库存储用户信息的示例
    这篇文章给大家分享的是有关使用redis数据库存储用户信息的示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。比较推荐的方式是使用redis数据库中的hash类型来存储。当然使用...
    99+
    2022-10-18
  • 如何使用HTML5实现获取地理位置信息并定位功能
    小编给大家分享一下如何使用HTML5实现获取地理位置信息并定位功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 代码如下: function getLocation(){ if (...
    99+
    2022-10-19
  • 使用微信小程序显示用户当前地理位置的详细代码
    目录前言wx.getLocation腾讯位置服务总结前言 在微信小程序的开发中不可避免的会遇到需要显示用户地理位置的操作,本文将简单介绍如何在微信小程序中显示用户当前的地理位置。 w...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作