Redis的BitMap使用操作命令
Redis的BitMap使用
Redis 為我們提供了位圖這一數(shù)據(jù)結(jié)構(gòu),每個(gè)用戶每天的登錄記錄只占據(jù)一位,365天就是365位,僅僅需要46字節(jié)就可存儲(chǔ),極大地節(jié)約了存儲(chǔ)空間。
位圖不是實(shí)際的數(shù)據(jù)類(lèi)型,而是一組面向位的操作 在被視為位向量的字符串類(lèi)型上定義。 由于字符串是二進(jìn)制安全 blob,其最大長(zhǎng)度為 512 MB, 它們適用于設(shè)置多達(dá) 2^32 個(gè)不同的位。
可以對(duì)一個(gè)或多個(gè)字符串執(zhí)行按位運(yùn)算。 位圖用例的一些示例包括:
- 集合成員對(duì)應(yīng)于整數(shù) 0-N 的情況的有效集合表示形式。
- 對(duì)象權(quán)限,其中每個(gè)位表示一個(gè)特定權(quán)限,類(lèi)似于文件系統(tǒng)存儲(chǔ)權(quán)限的方式。
BitMap的操作命令有:
- SETBIT:向指定位置(offset)存入一個(gè)0或1
- GETBIT :獲取指定位置(offset)的bit值
- BITCOUNT :統(tǒng)計(jì)BitMap中值為1的bit位的數(shù)量
- BITFIELD :操作(查詢(xún)、修改、自增)BitMap中bit數(shù)組中的指定位置(offset)的值
- BITFIELD_RO :獲取BitMap中bit數(shù)組,并以十進(jìn)制形式返回
- BITOP :將多個(gè)BitMap的結(jié)果做位運(yùn)算(與 、或、異或)
- BITPOS :查找bit數(shù)組中指定范圍內(nèi)第一個(gè)0或1出現(xiàn)的位置
想要查看具體用法用命令:
help [命令,例如:setbit] 例子: 127.0.0.1:6379> help setbit SETBIT key offset value summary: Sets or clears the bit at offset in the string value stored at key since: 2.2.0 group: string
到此這篇關(guān)于Redis的BitMap使用的文章就介紹到這了,更多相關(guān)Redis使用BitMap內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
redisson中RRateLimiter分布式限流器的使用
Redisson Ratelimiter是Redisson框架中的一種限流算法,用于限制對(duì)資源的訪問(wèn)頻率,本文主要介紹了redisson中RRateLimiter分布式限流器的使用,感興趣的可以了解一下2024-06-06關(guān)于redis Key淘汰策略的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇關(guān)于redis Key淘汰策略的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03AOP?Redis自定義注解實(shí)現(xiàn)細(xì)粒度接口IP訪問(wèn)限制
這篇文章主要為大家介紹了AOP?Redis自定義注解實(shí)現(xiàn)細(xì)粒度接口IP訪問(wèn)限制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10?Redis 串行生成順序編碼的方法實(shí)現(xiàn)
本文主要介紹了?Redis 串行生成順序編碼的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04