数据类型 geo
【单词】
geography /dʒiˈɑːɡrəfi/ 地理
longitude /ˈlɑːndʒɪtuːd/ 经度
latitude /ˈlætɪtuːd/ 纬度
geo 是redis 3.2.0 后新增数据类型,支持经纬度存储、位置距离计算、周围的人等功能。主要命令包括 GEOADD GEODIST GEORADIUS GEORADIUSBYMEMBER
新增元素
#GEOADD key longitude latitude member [longitude latitude member ...]
127.0.0.1:6379> GEOADD mygeo 113.88308 22.55329 广州 113.9202 33.54528 漯河 113.963341 33.572708 漯河西站 114.003929 33.576836 家
4
查询两点距离
# GEODIST key member1 member2 [unit]
127.0.0.1:6379> GEODIST mygeo 家 漯河西站 km
3.7891
获取指定元素的hash值
#GEOHASH key member [member ...]
127.0.0.1:6379> GEOHASH mygeo 漯河
wtcnb6dpmj0
返回元素的经度和维度信息
# GEOPOS key member [member ...]
127.0.0.1:6379> GEOPOS mygeo 漯河
113.9202001690864563
33.5452792494481784
查找指定经纬度半径5km内的元素
127.0.0.1:6379> GEORADIUS mygeo 113.963341 33.572708 5 km
漯河西站
家
查找指定经纬度半径5km内的元素【携带经纬度信息】
127.0.0.1:6379> GEORADIUS mygeo 113.963341 33.572708 5 km WITHCOORD
漯河西站
113.96334081888198853
33.57270746711338205
家
114.00392800569534302
33.57683652788194451
查找指定经纬度半径5km内的元素【携带相对距离】
127.0.0.1:6379> GEORADIUS mygeo 113.963341 33.572708 5 km WITHDIST
漯河西站
0.0001
家
3.7891
查找指定经纬度半径5km内的元素【携带元素hash】
127.0.0.1:6379> GEORADIUS mygeo 113.963341 33.572708 5 km WITHHASH
漯河西站
4064224637014600
家
4064225079790609
查找指定经纬度半径5km内的元素【返回距离最近的元素】
127.0.0.1:6379> GEORADIUS mygeo 113.963341 33.572708 5 km COUNT 1
漯河西站
查找指定经纬度半径5km内的元素【返回距离最远的元素】
127.0.0.1:6379> GEORADIUS mygeo 113.963341 33.572708 5 km COUNT 1 DESC
家
查找指定经纬度半径5km内的元素【返回距离最远的元素并保存到 in:5km 的集合中】
127.0.0.1:6379> GEORADIUS mygeo 113.963341 33.572708 5 km COUNT 1 DESC STORE in:5km
1
127.0.0.1:6379> ZRANGE in:5km 0 -1 withscores
家
4064225079790609
查找指定经纬度半径5km内的元素【返回距离最远的元素并保存到 in:5km 的集合中】
127.0.0.1:6379> GEORADIUS mygeo 113.963341 33.572708 5 km COUNT 1 DESC STOREDIST in:5km
1
127.0.0.1:6379> ZRANGE in:5km 0 -1 withscores
家
3.7891193658787592
GEORADIUSBYMEMBER 拥有GEORADIUS 类似的功能。区别在于GEORADIUS 参照物是经纬度,GEORADIUSBYMEMBER 参照物是geo中的元素
127.0.0.1:6379> GEORADIUSBYMEMBER mygeo 漯河西站 5 km
漯河西站
家
127.0.0.1:6379> GEORADIUSBYMEMBER mygeo 漯河西站 5 km withcoord
漯河西站
113.96334081888198853
33.57270746711338205
家
114.00392800569534302
33.57683652788194451
127.0.0.1:6379>
127.0.0.1:6379> GEORADIUSBYMEMBER mygeo 漯河西站 5 km withcoord withdist
漯河西站
0.0000
113.96334081888198853
33.57270746711338205
家
3.7891
114.00392800569534302
33.57683652788194451
127.0.0.1:6379> GEORADIUSBYMEMBER mygeo 漯河西站 5 km withcoord withdist withhash
漯河西站
0.0000
4064224637014600
113.96334081888198853
33.57270746711338205
家
3.7891
4064225079790609
114.00392800569534302
33.57683652788194451
127.0.0.1:6379> GEORADIUSBYMEMBER mygeo 漯河西站 5 km withcoord withdist withhash count 1
漯河西站
0.0000
4064224637014600
113.96334081888198853
33.57270746711338205
127.0.0.1:6379> GEORADIUSBYMEMBER mygeo 漯河西站 5 km withcoord withdist withhash count 1 desc
家
3.7891
4064225079790609
114.00392800569534302
33.57683652788194451
127.0.0.1:6379> GEORADIUSBYMEMBER mygeo 漯河西站 5 km count 1 desc store in:5km
1
127.0.0.1:6379> ZRANGE in:5km 0 -1 withscores
家
4064225079790609
GEORADIUSBYMEMBER mygeo 漯河西站 5 km count 1 desc storedist in:5km
127.0.0.1:6379> ZRANGE in:5km 0 -1 withscores
家
3.7891432213098772
浙公网安备 33010602011771号