redis 3.2版本中增加的最大功能就是对geo(地理位置)的支持
当前业务中地图方面是调用高德api(云图),请求多少会有延迟而redsigeo可以实现查找附近的终端以及测量两点之间的直线距离(有误差)
1、geoadd:增加某个地理位置的坐标。2、geopos:获取某个地理位置的坐标。3、geodist:获取两个地理位置的距离。4、georadius:根据给定地理位置坐标获取指定范围内的地理位置集合。5、georadiusbymember:根据给定地理位置获取指定范围内的地理位置集合。6、geohash:获取某个地理位置的geohash值。geoadd用来增加地理位置的坐标,可以批量添加地理位置,命令格式为:
geoadd key longitude latitude member [longitude latitude member ...]
key标识一个地理位置的集合。longitude latitude member
标识了一个地理位置的坐标。longitude是地理位置的经度,latitude是地理位置的纬度。member是该地理位置的名称。geoadd可以批量给集合添加一批地理位置。
geopos可以获取地理位置的坐标,可以批量获取多个地理位置的坐标,命令格式为:
geopos key member [member ...]
geodist用来获取两个地理位置的距离,命令格式为:
geodist key member1 member2 [m|km|ft|mi]
单位可以指定为以下四种类型:
m:米,距离单位默认为米,不传递该参数则单位为米。km:公里。mi:英里。ft:英尺。georadius可以根据给定地理位置坐标获取指定范围内的地理位置集合。命令格式为:
georadius key longitude latitude radius [m|km|ft|mi] [withcoord] [withdist] 溺水的急救方法[asc|desc] [withhash] [count count]
longitude latitude
标识了地理位置的坐标,政治权利是什么radius表示范围距离,距离单位可以为m|km|ft|mi,还有一些可选参数:
georadiusbymember可以根据给定地理位置获取指定范围内的地理位置集合。georadius命令传递的是坐标,georadiusbymember传递的是地理位置。georadius更为灵活,可以获取任何坐标点范围内的地理位置。但是大多数时候,只是想获取某个地理位置附近的其他地理位置,使用georadiusbymember则更为方便。georadiusbymember命令格式为(命令可选参数与georadius含义一样):
georadiusbymember key member radius [m|km|ft|mi] [withcoord] [withdist] [asc|desc] [withhash] [count count]
geohash可以获取某个地理位置的geohash值。geohash是将二维的经纬度转换成字清新脱俗的网名符串hash值的算法,后面会具体介绍geohash原理。可以批量获取多个地理位置的geohash值。命令格式为:
geohash key member [member ...]
本文发布于:2023-04-08 02:26:57,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/5852d0832f4fb1018fbd9b18b0970110.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:redis地理位置.doc
本文 PDF 下载地址:redis地理位置.pdf
留言与评论(共有 0 条评论) |