06-redis的三種特殊型別

超級划水857發表於2020-10-08

一 geospatial(地理位置)

geospatial型別可以用在以下場景中 1、朋友的地位 2、附近的人 3、叫車距離計算
城市經緯度查詢 這個網站可以查詢城市的經緯度,用於測試geospatial資料型別
geospatial底層是zset所以zset的命令可以操作geospatial 比如需要刪除一個geospatial中的元素 可以用zrem key member 來刪除

# geoadd key 精度 維度 名稱 將給定的空間元素(緯度、經度、名字)新增到指定的鍵裡面 需要注意的是地球兩極無法直接新增
geoadd china:city  116.405285 39.904989 beijing #將北京市的經緯度新增到china:city集合中
#geopos key member [member ...] 獲取當前定位
geopos china:city beijing $獲取北京的經緯度
#geodist key member1 member2 [unit] 返回兩個給定位置之間的距離 unit是單位 預設單位是m 
geodist china:city beijing shanghai km #查詢北京到上海之間的距離 單位是km
#georadius key 經度 緯度 半徑 單位(m|km...)[withcoord][withdist][count]
georadius china:city 110 20 1000 km #找出指定key china:city 中緯度為110 經度為20的 1000km以內的元素
georadius china:city 110 20 1000 km withdist #與上面的命令結果不同的是會帶上篩選出來的元素的直線距離
georadius china:city 110 20 1000 km withcoord #會篩選出結果的經緯度
georadius china:city 110 20 1000 km withdist withcoord count
#georadiusbymember key member 半徑 單位(m|km...)[withcoord][withdist][count]
georadiusbymember china:city beijing 2000 km #查詢以北京為中心方圓2000公里範圍內的所有元素 

相關文章