redis GEO的使用

1、概念git

  1. redis的GEO特性在Redis3.2版本發佈,這個功能能夠將用戶給定的地理位置信息儲存起來,並對這些信息進行操做。
  2. GEO經常使用語LBS(Location Based Service),基於位置的服務。

2、GEO相關命令redis

  • 命令名稱:geoadd
  • 語法:geoadd key longitude latitude member [longitude latitude member……]
  • 功能:
    • 將給定的空間元素(維度、經度、名字)添加到指定的鍵裏面。
    • 有效的經度介於-180度至180度之間。
    • 有效的維度介於-85.05112878度至85.05112878度之間。
  • 返回值:
    • 新添加到鍵裏面的空間元素數量,不包括那些已經存在可是被更新的元素。

 

  • 命令名稱:geopos
  • 語法:geopos key member [member……]
  • 功能:
    • 從鍵裏面返回全部給定位置元素的位置(經度和維度)
  • 返回值:
    • 返回一個數組,數組中的每一個項都由兩個元素組成:第一個元素爲給定位置元素的經度,第二個元素爲給定位置元素的緯度。

 

  • 命令名稱:geodist
  • 語法:geodist key member1 member2 [unit]
  • 功能:
    • 返回兩個給定位置之間的距離。
    • 若是兩個位置之間的其中一個不存在,那麼返回空值。
    • 指定單位的參數unit必須是一下單位的其中一個:(默認m,km,mi,ft)
  • 返回值:
    • 計算出的距離會以雙精度浮點數的形式被返回。若是給定的位置元素不存在,那麼命令返回空值。

 

  • 命令名稱:georadius
  • 語法:georadius key longitude latitude radius m|km|gt|mi [WITHCOORD] [WITHDIST] [WITHHASH] [ASC|DESC] [COUNT count]
  • 功能:1)以給定的經緯度爲中心,返回鍵包含的位置元素當中,與中心的距離不超過給定最大距離的而全部位置元素。
  • 選項:
    • WITHDIST:在返回位置元素的同時,將位置元素與中心之間的距離也一併返回。
    • WITHCOORD:將位置元素的經度和緯度也一併返回。
    • WITHHASH:以52位有符號整數的形式,返回位置元素通過原始geohash編碼的有序集合分值。這個選項主要用於底層應用或者調試,實際中的做用並不大。
    • ASC:根據中心的位置,按照從近到遠的方式返回位置元素
    • DESC:根據中心的位置,按照從遠到近的方式返回位置元素

 

  • 命令名稱:georadiusbymember
  • 語法:georadiusbymemeber key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [ASC|DESC] [COUNT count]
  • 功能:
    • 這個命令和georadius命令同樣。
    • 不一樣的是中心點是由給定的位置元素決定的。
  • 返回值:
    • 一個數組,數組中的每一個項表示一個範圍以內的位置元素。

 

  • 命令名稱:geohash
  • 語法:geohash key member [member……]
  • 功能:
    • 返回一個或多個位置元素的geohash表示。
  • 返回值:
    • 一個數組,數組中的每一個項都是一個geohash。命令返回的geohash的位置與用戶給定的位置元素的位置一一對應。
相關文章
相關標籤/搜索