日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Redis位圖bitmap操作_Redis

作者:碼農(nóng)的禿頭之旅 ? 更新時間: 2022-10-06 編程語言

定義

1、位圖不是真正的數(shù)據(jù)類型,它是定義在字符串類型中
2、一個字符串類型的值最多能存儲512M字節(jié)的內(nèi)容,位上限:2^32

# 1MB = 1024KB
# 1KB = 1024Byte(字節(jié))
# 1Byte = 8bit(位)

強(qiáng)勢點(diǎn)

可以實(shí)時的進(jìn)行統(tǒng)計(jì),極其節(jié)省空間。官方在模擬1億2千8百萬用戶的模擬環(huán)境下,在一臺MacBookPro上,典型的統(tǒng)計(jì)如“日用戶數(shù)”的時間消耗小于50ms, 占用16MB內(nèi)存

SETBIT 命令

  • 說明:設(shè)置某位置上的二進(jìn)制值
  • 語法:SETBIT key offset value
  • 參數(shù):offset - 偏移量 從0開始

? value - 0或者1

示例:

# 默認(rèn)擴(kuò)展位以0填充
127.0.0.1:6379> SET mykey ab
OK
127.0.0.1:6379> GET mykey
"ab"
127.0.0.1:6379> SETBIT mykey 0 1
(integer) 0
127.0.0.1:6379> GET mykey
"\xe1b"
127.0.0.1:6379> 

GETBIT 命令

  • 說明:獲取某一位上的值
  • 語法:GETBIT key offset

示例:

127.0.0.1:6379> GETBIT mykey 3
(integer) 0
127.0.0.1:6379> GETBIT mykey 0
(integer) 1
127.0.0.1:6379> 

BITCOUNT 命令

  • 說明:統(tǒng)計(jì)鍵所對應(yīng)的值中有多少個 1
  • 語法:BITCOUNT key start end
  • 參數(shù):start/end 代表的是 字節(jié)索引

示例:

127.0.0.1:6379> SET mykey1 ab
OK
127.0.0.1:6379[4]> BITCOUNT mykey
(integer) 6
127.0.0.1:6379[4]> BITCOUNT mykey 0 0
(integer) 3

應(yīng)用場景案例

# 網(wǎng)站用戶的上線次數(shù)統(tǒng)計(jì)(尋找活躍用戶)
    用戶名為key,上線的天作為offset,上線設(shè)置為1
# 示例
    用戶名為 user1:login 的用戶,今年第1天上線,第30天上線
    SETBIT user1:login 0 1 
    SETBIT user1:login 29 1
    BITCOUNT user1:login

原文鏈接:https://blog.csdn.net/weixin_45185267/article/details/125295063

欄目分類
最近更新