Redis特殊數(shù)據(jù)類型bitmap位圖
Redis數(shù)據(jù)類型bitmap位圖
bitmap數(shù)據(jù)結(jié)構(gòu),是基于二進(jìn)制位來進(jìn)行操作記錄的,只有0 和 1兩個狀態(tài)。
可以想象成一個數(shù)組,里面只有0或者1。
能干嘛呢?
現(xiàn)實(shí)中會有這些場景,比如統(tǒng)計(jì)用戶信息,活躍用戶和非活躍用戶、登錄的、未登錄的用戶,打卡的、未打卡的,像這種只有2個狀態(tài),并且數(shù)據(jù)量非常大的,就適合使用bitmap。
網(wǎng)上找了一個對比,可以幫助記憶下bitmap的優(yōu)點(diǎn)。
一、setbit
設(shè)置或者清空key的value(字符串)在offset處的bit值。
那個位置的bit要么被設(shè)置,要么被清空,這個由value(只能是0或者1)來決定。當(dāng)key不存在的時候,就創(chuàng)建一個新的字符串value。
比如現(xiàn)在我設(shè)置一個用戶的7天的打卡信息,1是打卡,0是未打卡。
setbit sign 0 1 setbit sign 1 1 setbit sign 3 1 setbit sign 4 0 setbit sign 5 1 setbit sign 6 0 setbit sign 2 1
二、getbit
對 key 所儲存的字符串值,獲取指定偏移量上的位(bit)。
getbit sign 4
三、bitcount
統(tǒng)計(jì)字符串被設(shè)置為1的bit數(shù)。
不存在的 key 被當(dāng)成是空字符串來處理,因此對一個不存在的 key 進(jìn)行 BITCOUNT 操作,結(jié)果為 0 。
bitcount sign
以上就是Redis特殊數(shù)據(jù)類型bitmap位圖的詳細(xì)內(nèi)容,更多關(guān)于Redis數(shù)據(jù)類型bitmap位圖的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
利用Redis?lua實(shí)現(xiàn)高效讀寫鎖的代碼實(shí)例
這篇文章給大家介紹了如何利用Redis?lua實(shí)現(xiàn)高效的讀寫鎖,讀寫鎖的好處就是能幫助客戶讀到的數(shù)據(jù)一定是最新的,寫鎖是排他鎖,而讀鎖是一個共享鎖,需要的朋友可以參考下2024-01-01redis5集群如何主動手工切換主從節(jié)點(diǎn)命令
這篇文章主要介紹了redis5集群如何主動手工切換主從節(jié)點(diǎn)命令,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Redis設(shè)置密碼保護(hù)的實(shí)例講解
今天小編就為大家分享一篇Redis設(shè)置密碼保護(hù)的實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05