ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Geo命令

2021-01-26 18:05:26  阅读:283  来源: 互联网

标签:返回 位置 复杂度 元素 命令 geohash key Geo


简介:

Geo是redis用于存储地理位置信息的结构,与redis3.2版本新增。  

命令简介:

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

命令介绍:

1)geoadd

可用版本: >=3.2.0 时间复杂度: 每添加一个元素复杂度为O(log(N)) 命令格式: geoadd key longitude latitude member [longitude latitude member ....] 作用: 将给定的空间元素(经度,纬度,名字)添加到指定的键里面,这些数据将会以有序集合的形式保存在key中。 返回值: 新添加到key中的空间元素的数量,不包括已经存在但是被更新的元素。 注意: GEOADD可以记录的坐标有限,很接近两级的区域将无法被索引。 有效的经度在-180到180之间。 有效的纬度在-85.05112878到85.05112878之间。 如果输入的经纬度不在有效度数之间的话,geoadd将会返回一个error。  

2)geopos

可用版本: >=3.2.0 时间复杂度: 获取每一个元素的复杂度为O(log(N)) 命令格式: geopos key member [member ...] 作用: 获取key中指定member的位置信息(经度+纬度)。 返回值: 返回一个数组,数组中每一个项都由两个元素组成,第一个为经度,第二个为纬度。 注意: 当给定的位置元素不存在时,对应的数组项为nil。  

3)geodist

可用版本: >=3.2.0 时间复杂度: O(log(N)) 命令格式: geodist key member1 member2 [unit] 作用: 获取两个位置之间的距离。 返回值: 计算出的距离会以双精度浮点数的形式被返回,如果给定的元素不存在,将会返回nil。 注意: unit参数必须是下面其中的一个: 1. m-米 2.km-千米 3.mi-英里 4.ft-英尺 没有unit参数时,默认为米。 geodist计算距离时,默认地球为完美的球形,所以会存在0.5%之内的误差。  

4)georadius

可用版本: >=3.2.0 时间复杂度: O(N+log(M)),其中 N 为指定半径范围内的位置元素数量, 而 M 则是被返回位置元素的数量。 命令格式: georadius key longitude latitude radius unit [withcoord] [withdist] [withhash] [asc|desc] [count count] 作用: 以给定的经纬度为中心,返回键包含的位置元素当中,与中心的距离不超过给定的最大距离的所有位置元素。 返回值: 返回一个数组,在没有任何with参数的时候,返回格式为["New York","Milan","Paris"] 这样的线性(linear)列表。 在有with参数的时候,将会返回一个两层嵌套的数组。第一个位置为元素名称,然后按以下顺序: 1.浮点数型返回中心与位置元素的距离 2.geohash整数。 3.由两个元素组成的坐标,分别为经度与纬度。 注意: withdist:在返回位置元素的同时,将位置元素与中心的距离也一并返回。距离的单位和用户给定的范围单位保存一致。 withcoord:将位置元素的经度和纬度也一并返回。 withhash:以52位有符号整数的形式,返回位置元素经过原始geohash编码的有序集合分值。(实际作用不大) asc|desc:根据中心位置,安装距离从近到远、从远到近排序。 count:默认情况下会返回所有匹配的位置元素,count可以限制元素个数。  

5)georadiusbymember

可用版本: >=3.2.0 时间复杂度: O(log(N)+M), 其中 N 为指定范围之内的元素数量, 而 M 则是被返回的元素数量。 命令格式: georadiusbymember 作用: 以给定的元素为中心,返回键包含的位置元素当中,与中心的距离不超过给定的最大距离的所有位置元素。 返回值: 同georadius命令。  

6)geohash

可用版本: >=3.2.0 时间复杂度: 寻找每个位置元素的复杂度为 O(log(N)) , 其中 N 为给定键包含的位置元素数量。 命令格式: geohash key member [member ...] 作用: 获取一个或者多个位置元素的geohash表示。 返回值: 一个数组,每一个元素都是一个geohash。命令返回的geohash位置与用户请求时的位置一一对应。

标签:返回,位置,复杂度,元素,命令,geohash,key,Geo
来源: https://www.cnblogs.com/52why/p/14331729.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有