Redis特殊數(shù)據(jù)類型bitmap位圖
Redis數(shù)據(jù)類型bitmap位圖
bitmap數(shù)據(jù)結(jié)構(gòu),是基于二進(jìn)制位來(lái)進(jìn)行操作記錄的,只有0 和 1兩個(gè)狀態(tài)。
可以想象成一個(gè)數(shù)組,里面只有0或者1。
能干嘛呢?
現(xiàn)實(shí)中會(huì)有這些場(chǎng)景,比如統(tǒng)計(jì)用戶信息,活躍用戶和非活躍用戶、登錄的、未登錄的用戶,打卡的、未打卡的,像這種只有2個(gè)狀態(tài),并且數(shù)據(jù)量非常大的,就適合使用bitmap。
網(wǎng)上找了一個(gè)對(duì)比,可以幫助記憶下bitmap的優(yōu)點(diǎn)。

一、setbit
設(shè)置或者清空key的value(字符串)在offset處的bit值。
那個(gè)位置的bit要么被設(shè)置,要么被清空,這個(gè)由value(只能是0或者1)來(lái)決定。當(dāng)key不存在的時(shí)候,就創(chuàng)建一個(gè)新的字符串value。
比如現(xiàn)在我設(shè)置一個(gè)用戶的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
對(duì) key 所儲(chǔ)存的字符串值,獲取指定偏移量上的位(bit)。
getbit sign 4

三、bitcount
統(tǒng)計(jì)字符串被設(shè)置為1的bit數(shù)。
不存在的 key 被當(dāng)成是空字符串來(lái)處理,因此對(duì)一個(gè)不存在的 key 進(jìn)行 BITCOUNT 操作,結(jié)果為 0 。
bitcount sign

以上就是Redis特殊數(shù)據(jù)類型bitmap位圖的詳細(xì)內(nèi)容,更多關(guān)于Redis數(shù)據(jù)類型bitmap位圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Redis的Bitmap(位圖)詳解和命令演示
- PHP利用redis位圖實(shí)現(xiàn)簡(jiǎn)單的簽到功能
- Redis位圖bitmap操作
- 淺談Redis位圖(Bitmap)及Redis二進(jìn)制中的問(wèn)題
- 基于Redis位圖實(shí)現(xiàn)用戶簽到功能
- 基于Redis位圖實(shí)現(xiàn)系統(tǒng)用戶登錄統(tǒng)計(jì)
- PHP使用redis位圖bitMap 實(shí)現(xiàn)簽到功能
- Redis精確去重計(jì)數(shù)方法(咆哮位圖)
- redis通過(guò)位圖法記錄在線用戶的狀態(tài)詳解
- Redis 中的 BitMaps(位圖)命令詳解
相關(guān)文章
Redis3.2開(kāi)啟遠(yuǎn)程訪問(wèn)詳細(xì)步驟
redis默認(rèn)只允許本地訪問(wèn),要使redis可以遠(yuǎn)程訪問(wèn)可以修改redis.conf2018-03-03
Redis 跳表(Skip List)原理實(shí)現(xiàn)
跳表是zset有序集合的底層實(shí)現(xiàn)之一,本文主要介紹了Redis 跳表(Skip List)原理實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
redis由于目標(biāo)計(jì)算機(jī)積極拒絕,無(wú)法連接的解決
這篇文章主要介紹了redis由于目標(biāo)計(jì)算機(jī)積極拒絕,無(wú)法連接的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Redis Set 類型常用操作命令之從基礎(chǔ)命令到實(shí)戰(zhàn)應(yīng)用
本文將深入探討Redis Set類型的常用操作命令,包括添加、刪除、查詢以及強(qiáng)大的交集、并集、差集運(yùn)算,并結(jié)合實(shí)際應(yīng)用場(chǎng)景,展示Set 在開(kāi)發(fā)中的妙用,感興趣的朋友一起看看吧2025-08-08
Redis Sentinel實(shí)現(xiàn)哨兵模式搭建小結(jié)
這篇文章主要介紹了Redis Sentinel實(shí)現(xiàn)哨兵模式搭建小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Redis Caffeine實(shí)現(xiàn)兩級(jí)緩存的項(xiàng)目實(shí)踐
本文介紹了使用Redis和Caffeine實(shí)現(xiàn)兩級(jí)緩存,以提高查詢接口的性能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
為什么RedisCluster設(shè)計(jì)成16384個(gè)槽
本文主要介紹了為什么RedisCluster設(shè)計(jì)成16384個(gè)槽,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09

