redis GEO的使用
1、概念git
- redis的GEO特性在Redis3.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的位置與用戶給定的位置元素的位置一一對應。
歡迎關注本站公眾號,獲取更多信息