簡介:
Geo是redis用于存盤地理位置資訊的結構,與redis3.2版本新增,命令簡介:
1.geoadd:添加地理位置的坐標 2.geopos:獲取地理位置的坐標 3.geodist:計算兩個位置之間的距離 4.georadius:根據用戶給定的經緯度坐標獲取指定范圍內的地理位置集合 5.georadiusbymember:根據存盤在位置集合里面的某一個地點獲取范圍內的地理位置集合 6.geohash:回傳一個或者多個位置物件的geohash值,命令介紹:
1)geoadd
可用版本: >=3.2.0 時間復雜度: 每添加一個元素復雜度為O(log(N)) 命令格式: geoadd key longitude latitude member [longitude latitude member ....] 作用: 將給定的空間元素(經度,緯度,名字)添加到指定的鍵里面,這些資料將會以有序集合的形式保存在key中, 回傳值: 新添加到key中的空間元素的數量,不包括已經存在但是被更新的元素, 注意: GEOADD可以記錄的坐標有限,很接近兩級的區域將無法被索引, 有效的經度在-180到180之間, 有效的緯度在-85.05112878到85.05112878之間, 如果輸入的經緯度不在有效度數之間的話,geoadd將會回傳一個error,2)geopos
可用版本: >=3.2.0 時間復雜度: 獲取每一個元素的復雜度為O(log(N)) 命令格式: geopos key member [member ...] 作用: 獲取key中指定member的位置資訊(經度+緯度), 回傳值: 回傳一個陣列,陣列中每一個項都由兩個元素組成,第一個為經度,第二個為緯度, 注意: 當給定的位置元素不存在時,對應的陣列項為nil,3)geodist
可用版本: >=3.2.0 時間復雜度: O(log(N)) 命令格式: geodist key member1 member2 [unit] 作用: 獲取兩個位置之間的距離, 回傳值: 計算出的距離會以雙精度浮點數的形式被回傳,如果給定的元素不存在,將會回傳nil, 注意: unit引數必須是下面其中的一個: 1. m-米 2.km-千米 3.mi-英里 4.ft-英尺 沒有unit引數時,默認為米, geodist計算距離時,默認地球為完美的球形,所以會存在0.5%之內的誤差,4)georadius
可用版本: >=3.2.0 時間復雜度: O(N+log(M)),其中 N 為指定半徑范圍內的位置元素數量, 而 M 則是被回傳位置元素的數量, 命令格式: georadius key longitude latitude radius unit [withcoord] [withdist] [withhash] [asc|desc] [count count] 作用: 以給定的經緯度為中心,回傳鍵包含的位置元素當中,與中心的距離不超過給定的最大距離的所有位置元素, 回傳值: 回傳一個陣列,在沒有任何with引數的時候,回傳格式為["New York","Milan","Paris"] 這樣的線性(linear)串列, 在有with引數的時候,將會回傳一個兩層嵌套的陣列,第一個位置為元素名稱,然后按以下順序: 1.浮點數型回傳中心與位置元素的距離 2.geohash整數, 3.由兩個元素組成的坐標,分別為經度與緯度, 注意: withdist:在回傳位置元素的同時,將位置元素與中心的距離也一并回傳,距離的單位和用戶給定的范圍單位保存一致, withcoord:將位置元素的經度和緯度也一并回傳, withhash:以52位有符號整數的形式,回傳位置元素經過原始geohash編碼的有序集合分值,(實際作用不大) asc|desc:根據中心位置,安裝距離從近到遠、從遠到近排序, count:默認情況下會回傳所有匹配的位置元素,count可以限制元素個數,5)georadiusbymember
可用版本: >=3.2.0 時間復雜度: O(log(N)+M), 其中 N 為指定范圍之內的元素數量, 而 M 則是被回傳的元素數量, 命令格式: georadiusbymember 作用: 以給定的元素為中心,回傳鍵包含的位置元素當中,與中心的距離不超過給定的最大距離的所有位置元素, 回傳值: 同georadius命令,6)geohash
可用版本: >=3.2.0 時間復雜度: 尋找每個位置元素的復雜度為 O(log(N)) , 其中 N 為給定鍵包含的位置元素數量, 命令格式: geohash key member [member ...] 作用: 獲取一個或者多個位置元素的geohash表示, 回傳值: 一個陣列,每一個元素都是一個geohash,命令回傳的geohash位置與用戶請求時的位置一一對應,轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/252988.html
標籤:其他
上一篇:HyperLogLog命令
下一篇:Bit命令
