Redis(九):Redis特殊类型之geospatial
生活随笔
收集整理的這篇文章主要介紹了
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