Redis geo 簡單使用


geo的實現是zset,所以可以用zset的命令去操作

zrange geo:city 0 -1 //遍歷
zrem geo:city suzhou //刪除
ZUNIONSTORE geo:all 2 geo:city geo:user //並集
  • geoadd 集合 經度 緯度 名稱: 添加地理位置坐標

    geoadd geo:city 118.8921 31.32751 nanjing
    GEOADD geo:city 120.21201 30.2084 hangzhou
  • geopos: 獲取地理位置的坐標

    geopos geo:city nanjing
  • geodist: 返回兩個給定位置之間的距離

    geodist geo:city nanjing hangzhou km
  • georadius: 以給定的經緯度為中心,返回鍵包含的位置元素當中,與中心的距離不超過過給定最大距離的所有位置元素

    georadius geo:city 120 30 100 km withcoord
    1) 1) "hangzhou"
      2) 1) "120.21200805902481079"
         2) "30.20839995425554747"
  • georadiusbymember: 同georadius,指定中心為成員,必定會顯示一條member本身的信息

    count N :會顯示距離最近的N個地址

    georadiusbymember geo:city nanjing 200 km withcoord withdist count 2
    1) 1) "hangzhou"
      2) "177.2150"
      3) 1) "120.21200805902481079"
         2) "30.20839995425554747"
    2) 1) "nanjing"
      2) "0.0000"
      3) 1) "118.89209836721420288"
         2) "31.32750976275760735"
  • geohash:

geohash geo:city nanjing
1) "wtsd1qyxfx0"

可以用這個hash值去http://geohash.org/${hash}中進行直接定位


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM