当前位置:
首页 >
Redis(九):Redis特殊类型之geospatial
发布时间:2025/3/8
44
豆豆
生活随笔
收集整理的这篇文章主要介绍了
Redis(九):Redis特殊类型之geospatial
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
朋友的定位,附近的人,位置共享,打车距离
redis在3.2就已经推出了geospatial!两地之间的距离,方圆几里的人!都可以用它实现
这个需要把你所在地的经纬度输进去,我们可以在http://www.jsons.cn/lngcode/进行查询!
1、geospatial的六个命令
1.1、GEOADD
127.0.0.1:6379> geoadd china:city 39.90 116.40 beijing //添加地理位置(北京) (integer) 1 127.0.0.1:6379> geoadd china:city 31.23 1216.47 shanghai (error) ERR invalid longitude,latitude pair 1216.470000,31.230000 127.0.0.1:6379> geoadd china:city 31.23 121.47 shanghai (integer) 1 127.0.0.1:6379> geoadd china:city 106.50 29.53 chongqing (integer) 1 127.0.0.1:6379> geoadd china:city 22.52 114.05 shenzhen 18.24 109.50 sanya (integer) 2参数 key 纬度 经度 名称 ;有效的经度纬度
ps:两极无法添加
1.2、GROPOS
127.0.0.1:6379> GEOPOS china:city beijing //获取指定的经纬度 1) 1) "116.39999896287918091"2) "39.90000009167092543" 127.0.0.1:6379> GEOPOS china:city shanghai 1) 1) "121.47000163793563843"2) "31.22999903975783553"获得当前定位(坐标值)
1.3、DEODIST
127.0.0.1:6379> GEODIST china:city beijing shanghai //两地(北京上海)的直线距离(默认单位是m) "1067378.7564" 127.0.0.1:6379> GEODIST china:city beijing shanghai km "1067.3788"1.4、GEOEADIUS
127.0.0.1:6379> GEORADIUS china:city 110 30 1000 km //一一个点为中心查找半径范围内的城市 1) "chongqing" 2) "shenzhen" 127.0.0.1:6379> GEORADIUS china:city 110 30 1000 km withdist //显示距离 1) 1) "chongqing"2) "341.9374" 2) 1) "shenzhen"2) "924.6408" 127.0.0.1:6379> GEORADIUS china:city 110 30 1000 km withcoord //显示目标的位置 1) 1) "chongqing"2) 1) "106.49999767541885376"2) "29.52999957900659211" 2) 1) "shenzhen"2) 1) "114.04999762773513794"2) "22.5200000879503861" 127.0.0.1:6379> GEORADIUS china:city 110 30 1000 km withcoord count 1 //筛选指定结果 1) 1) "chongqing"2) 1) "106.49999767541885376"2) "29.52999957900659211"附近的人,通过半径来查询
1.5、GEORADIUSBYMEMBER
127.0.0.1:6379> GEORADIUSBYMEMBER china:city beijing 2000 km //找出指定位置周围的 1) "chongqing" 2) "shenzhen" 3) "shanghai" 4) "beijing"更接近于附近的人的功能!
1.6、GEOHASH
127.0.0.1:6379> GEOHASH china:city beijing chongqing //把经纬度转换为字符串,字符串越长越精确 1) "wx4fbxxfke0" //返回当前经纬度的字符串 2) "wm5xzrybty0"1.7、查看和删除
127.0.0.1:6379> ZRANGE china:city 0 -1 //查询地图中全部元素 1) "sanya" 2) "chongqing" 3) "shenzhen" 4) "shanghai" 5) "beijing" 127.0.0.1:6379> ZREM china:city chongqing //删除 (integer) 1 127.0.0.1:6379> ZRANGE china:city 0 -1 1) "sanya" 2) "shenzhen" 3) "shanghai" 4) "beijing"2、总结
有效的经度从-180度到180度。
有效的纬度从-85.05112878度到85.05112878度。
指定单位的参数 unit 必须是以下单位的其中一个:
m 表示单位为米。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。
总结
以上是生活随笔为你收集整理的Redis(九):Redis特殊类型之geospatial的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: PL/SQL批处理语句:BULK COL
- 下一篇: RHEL下安装配置基于2台服务器的MYS