Redis學(xué)習(xí)筆記(二)——三大特殊數(shù)據(jù)類型

2.1 geospatial 地理位置

geospatial 地理位置 這個(gè)功能可以推算地理位置的信息,兩地之間的距離,方圓幾里的人

geoadd [key] [經(jīng)度] [維度] [地點(diǎn)名稱] 添加位置

注意經(jīng)緯度不可以超過取值范圍 ,否則會報(bào)錯(cuò)

geopos [key] [value] 查詢value的經(jīng)緯度

geodist [key] [pos1] [pos2] 查詢pos1和pos2之間的直線距離,默認(rèn)距離是米,可以改成km,mi,ft

georadius 以給定的經(jīng)緯度為中心,找出某一半徑以內(nèi)的元素

georadius [key] [longitude] [latitude]

[radius] [m/km/ft/mi] [withcoord 可選] [withdist可選] [count 數(shù)字 可選] [asc/desc可選]

以某個(gè)經(jīng)度緯度為中心,查找radius范圍內(nèi)的元素,同時(shí)輸出坐標(biāo)、顯示到中心的直線距離,篩選出幾個(gè)結(jié)果,升序或者降序

georadiusbymember [key] [member] [radius]

[m/km/ft/mi] [withcoord 可選] [withdist可選] [count 數(shù)字 可選] [asc/desc可選]

以某個(gè)指定元素為中心,查找radius范圍內(nèi)的元素,同時(shí)輸出坐標(biāo)、顯示到中心的直線距離,篩選出幾個(gè)結(jié)果,升序或者降序

geohash 返回一個(gè)或多個(gè)位置元素的11個(gè)字符的Geohash字符串

geohash [key] [member]

geo的底層實(shí)現(xiàn)原理就是zset!我們可以使用zset命令來操作geo

zrange 查看地圖中全部的元素

zrem 移除地圖中的某個(gè)元素





2.2 hyperloglog基數(shù)統(tǒng)計(jì)

hyperloglog 如果允許容錯(cuò),就使用該方法。不允許容錯(cuò)就使用set

什么是基數(shù)?A{1,3,5,7,8,7} B{1,3,5,7,8} 基數(shù)(表示不重復(fù)的元素)=5,可以接受誤差

hyperloglog 基數(shù)統(tǒng)計(jì)的算法

優(yōu)點(diǎn):占用的內(nèi)存是固定的,只要12KB內(nèi)存,如果從內(nèi)存角度來比較的話,首選hyperloglog

網(wǎng)頁UV(一個(gè)人訪問一個(gè)網(wǎng)站多次,但是還是算作一個(gè)人)

傳統(tǒng)的方式,用set保存用戶id,然后就可以統(tǒng)計(jì)set中的元素?cái)?shù)量作為評判標(biāo)準(zhǔn)

這個(gè)方式如果保存大量的用戶id,就會比較麻煩,我們的目的是為了計(jì)數(shù),不是保存用戶id

0.81的錯(cuò)誤率,統(tǒng)計(jì)UV任務(wù),可以忽略不計(jì)

pfadd [key]?[element....]創(chuàng)建元素

pfcount [key] 統(tǒng)計(jì)元素的基數(shù)數(shù)量

pfmerge [destination] [src1] [src2].. 合并數(shù)據(jù)1,數(shù)據(jù)2 到目的數(shù)組中



2.3 bitmap位存儲

統(tǒng)計(jì)用戶信息,活躍/不活躍, 打卡/未打卡,等等兩個(gè)狀態(tài)的

bitmap是位圖,數(shù)據(jù)結(jié)構(gòu),都是操作二進(jìn)制位進(jìn)行記錄的,就只有0 和 1 兩個(gè)狀態(tài)

365天 = 365bit 1Byte

= 8bit 46個(gè)字節(jié)左右

setbit [key] [offset] [0/1] 設(shè)置某個(gè)元素為0/1

getbit [key] [name] 獲取某個(gè)元素的值

bitcount [key] [start] [end] 獲取某個(gè)區(qū)間為1的個(gè)數(shù),不包括start 和 end 在內(nèi)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容