Redis GEORADIUSBYMEMBER命令_redis lrange命令
Redis GEORADIUSBYMEMBER命令
Redis GEORADIUSBYMEMBER命令是基于指定位置的点集合,按照半径的距离范围进行查询,并返回指定的GeoHash字符串.
GEORADIUSBYMEMBER命令的使用场景是基于地理位置数据集,如城市经纬度、商家定位、影院经纬度等,实现一些地理位置信息的查询需求.
Redis GEORADIUSBYMEMBER命令的使用方法
GEORADIUSBYMEMBER命令参数说明如下:
georadiusbymember key member radius unit [withdist] [withcoord] [withhash] [count count] [asc|desc] [store key] [storedist key]
key: GeoHash键
member: 指定的GeoHash字符串
radius: 搜索半径,与unit一起构成搜索半径范围,单位可以是米、千米、英里或英尺
unit: 搜索半径单位,可选值为m、km、mi、ft
withdist: 是否返回距离,1为是,0为否,当指定时,结果中会包含距离信息
withcoord: 是否返回坐标,1为是,0为否,当指定时,结果中会包含坐标信息
withhash: 是否返回GeoHash字符串,1为是,0为否,当指定时,结果中会包含GeoHash字符串信息
count: 返回的数据数量限制,即最多返回数量,当指定时,只会返回目标数量的结果,默认返回全部
asc/desc: 指定数据排序方式,asc表示升序,desc表示降序,默认是升序
store key: 如果指定,则将搜索结果的坐标位置保存到指定的key中
storedist key: 如果指定,则将搜索结果的距离保存到指定的key中
注意:当同时使用withdist和withcoord时,结果集中先返回距离,后返回坐标.
Redis GEORADIUSBYMEMBER命令的实例
实例1:
①.、使用GEOADD命令将影院信息添加到redis中.
127.0.0.1:6379> GEOADD cinema 116.219062, 40.072019, beijing1
(integer) 1
127.0.0.1:6379> GEOADD cinema 116.237213, 40.064424, beijing2
(integer) 1
127.0.0.1:6379> GEOADD cinema 116.175114, 40.082982, beijing3
(integer) 1
127.0.0.1:6379> GEOADD cinema 116.218090, 40.081568, beijing4
(integer) 1
127.0.0.1:6379> GEORADIUSBYMEMBER cinema beijing1 2000 m withcoord withhash
1) 1) "beijing1"
2) 1) "116.2190625667572"
2) "40.07201815458682"
3) "wx4gde6q17r"
127.0.0.1:6379> GEORADIUSBYMEMBER cinema beijing1 2000 m withdist withcoord
1) 1) "beijing1"
2) "1.6371"
3) 1) "116.2190625667572"
2) "40.07201815458682"
2) 1) "beijing4"
2) "1.6834"
3) 1) "116.21808993816376"
2) "40.08156828979726"
实例2:
现在我们需要查询两个城市之间的距离,城市经纬度信息如下:
实现步骤如下:
①.、首先使用GEOADD命令将城市信息存储到Redis中.
127.0.0.1:6379> GEOADD city 116.405285, 39.904989, beijing
(integer) 1
127.0.0.1:6379> GEOADD city 121.473701, 31.230416, shanghai
(integer) 1
127.0.0.1:6379> GEODIST city beijing shanghai km
"1063.9386"
总结
Redis GEORADIUSBYMEMBER命令可以方便地实现基于地理位置的搜索、查询等功能.通过该命令,可以快速找到一定范围内的商家、影院等信息,并可以方便地计算两个区域之间的距离.
以上就是咏彬小常识小编为大家整理的Redis GEORADIUSBYMEMBER命令相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!