06 redis的三種特殊型別

2021-10-24 13:42:19 字數 1346 閱讀 9494

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公里範圍內的所有元素

要理解hyperloglog需要先理解乙個概念:基數;什麼是基數呢?基數實際上指的是乙個集合中所有不重複元素的個數。比如有乙個集合那麼這個集合的基數就是5。基數是有誤差的

hyperloglog的應用場景

點陣圖是redis提供的一種操作二進位制位的資料結構,通過位圖可以直接指定元素的狀態儲存在二進位制數的那個位置上 就只有0跟1兩個狀態

點陣圖的應用場景包括

Redis三種特殊資料型別

這個東西可以推算兩地的位置的資訊,比如說兩地的距離,方圓幾里的人 官方文件只給出了如上六個命令 以上是存入相關城市緯度經度資訊,注意這裡前面是緯度後面是經度,不要弄反了,南極和北極無法直接新增 如果兩個位置之間的其中乙個不存在,那麼命令返回空值。指定單位的引數 unit 必須是以下單位的其中乙個 只...

Redis學習日誌 三種特殊資料型別

使用場景 定位?附近的人?打車距離計算?redis的geo在redis3.2版本推出了,這個功能可以推算兩地之間的地理距離 查詢地理位置及經緯度 getadd 新增地理位置 127.0.0.1 6379 geoadd china city 116.40 39.90 beijing geoadd 經度...

Redis 4 三種特殊資料型別

geo 底層的實現原理其實就是zset!我們可以使用zset命令來操作geo 基數 乙個集合 不重複的元素個數 基數 5,可以接受誤差 簡介 redis2.8.9版本就更新了hyperloglog資料結構 redis hyperloglog 技術統計的演算法 網頁的uv 乙個人訪問乙個 多次,但還是...