Redis数据类型geospatial
geospatial地理位置
朋友的定位。附近的人,打车距离计算?
这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人
getadd命令
#getadd 添加地理位置
#规则:两级无法直接添加。我们一般会下载城市数据,直接通过java程序-“次性导入!
#有效的经度从-180度到180度。
#有效的绑度从-85.05112878度到85. 05112878度。
#当坐标位置超出上述指定范围时。该命令将会返目一个错误。
#参数key值()
127.0.0.1:6379> geoadd china:city 116.40 39.90 beijing
(integer) 1
127 0.0.1:6379> geoadd china:city 121.47 31.23 shanghai
(integer) 1
127.0.0. 1:6379> geoadd china:city 106.50 29.53 chongqi 114.05 22. 52 shengzhen
(integer) 2
127.0.0.1:6379> geoadd china:city 120.16 30.24 hangzhou 108.96 34.26 xian
(integer) 2
getpos
127.0.0. 1:6379> GEOPOS china:city beijing # 获取指定的城市的经度和纬度!
1) 1) "116 .3999896287918091"
2) "39 , 000009167092543"
127.0.0. 1:6379> GEOPOS china:city beijing chongqi
1) 1) "116 .39999896287918091"
2) "39 。9000009167092543"
2) 1) "106. 49999767541885376"
2) "29. 52999957900659211”
GEODIST
两人之间的距离!
单位:
●m表示单位为米。
●km表示单位为干米。
●mi表示单位为英里。
●ft表示单位为英尺。
127.0.0. 1:6379> GECOIST china:city beijing shanghai km # 查看上海到北京的直线距离
"1067. 3788”
127.0.0. 1:6379> GECOIST china:city beifing chongqi km中 查看重河北京的直线距离
“1464.0708"
georadius 以给定的经纬度为中心,找出某一半径内的元素
我附近的人? (获得所有附近的人的地址,定位! )通过半径来查询!
获得指定数量的人, 200
所有数据应该都录入: china:city ,才会让结果更加请求!
127.0.0. 1:6379> GEORADIUS china:city 110 30 1000 km萨 以110. 30 这个经纬度为中心,寻找方网1000km内的城市
1) "chongqi"
2) "xian"
3) "shengzhen"
4) "hangzhou"
127.0. 0.1:6379> GEORADIUS china:city 110 30 500 km
1) "chongqi"
2) "xian"
127.0.0.1:6379> GEORADIUS china:city 110 30 500 km wi thdist
1) 1) "chongqi"
2) “341.9374"
2) 1) "xian"
2) "483. 8340"
127.0.0. 1:6379> GEORADIUS china:city 110 30 500 km withcoord
1) 1) "chongqi"
2) 1) " 106. 4999767541885376"
2) "29. 52999957900659211"
2) 1) "xian"
2) 1)“108 . 6000176668167114"
2)“34. 25999964418929977"
127.0.0.1:6379> GEORADIUS china:city 110 30 500 km withdist withcoord count 1 #筛选出指定的结果!
1) 1) "chongqi"
2)“341.9374"
3) 1)“106 .49999767541885376"
2) "29. 52999957900659211"
127.0.0.1:6379> GEORADIUS china:city 110 30 500 km withdist withcoord count 2
1) 1) "chongqi"
2) "341. 9374"
3) 1) "106. 49999767541885376"
2)“29. 52999957900659211”
2) 1) "xian"
2)“483. 8340"
3) 1) "108. 96000176668167114"
2)“34. 25999964418929977"
GEORADIUSBYMEMBER
#找出位于指定元素周团的其他元素!
127.0. 0.1;6379> GEORADIUSBYNENBER china:city beijing 1000 km
1) "beijing"
2) "xian"
127.0. 0.1:6379> GEORADIUSBYNEMBER china:city shanghai 400 km
1) "hangzhou"
2) "shanghai"
GEOHASH命令。 返回一个或多个位置元素的Geohash表示
该命令将返回11个字符的Geohash字符串!
#并将二维的经纬度转换为一维的字符串
127.0.0.1:6379> geohash china:city beijing chongqi
1) "wx4fbxxfke0"
2) "wm5xzrybtyO"
GEO底层的实现原理其实就是Zset !我们可以使用Zset命令来操作geo !
127. 0.0.1:6379> ZRANGE china:city 0 -1 #查看地图中全部的元素
1) "chongqi"
2) "xian"
3) "shengzhen"
4) "hangzhou"
5) "shanghai"
6) "beijing"
127. 0.0.1:6379> zrem china:city beijing #移除指定元素!|
Cinteger) 1
127.0.0.1:6379> ZRANGE china:city 0 -1
1) "chongqi”
2) "xian"
3) "shengzhen"
4) "hangzhou"
5) "shanghai"
版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/89800.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论