Redis 三種特殊資料型別之 Bitmaps

HuDu發表於2020-09-18

統計使用者資訊,活躍,不活躍!登入、未登入!打卡,365打卡!兩個狀態的,都可以使用 Bitmaps!
Bitmaps 點陣圖,資料結構!都是操作二進位制位來進行記錄,就只有0和1兩種狀態!
365 天=365bit 1位元組=8bit 46 個位元組左右

測試

使用bitmap 來記錄週一到週日的打卡

127.0.0.1:6379[1]> SETBIT sign 0 1
(integer) 0
127.0.0.1:6379[1]> SETBIT sign 1 0
(integer) 0
127.0.0.1:6379[1]> SETBIT sign 2 0
(integer) 0
127.0.0.1:6379[1]> SETBIT sign 3 1
(integer) 0
127.0.0.1:6379[1]> SETBIT sign 4 1
(integer) 0
127.0.0.1:6379[1]> SETBIT sign 5 0
(integer) 0
127.0.0.1:6379[1]> SETBIT sign 6 0
(integer) 0

檢視某一天是否打卡

127.0.0.1:6379[1]> GETBIT sign 3
(integer) 1
127.0.0.1:6379[1]> GETBIT sign 0
(integer) 1
127.0.0.1:6379[1]> GETBIT sign 5
(integer) 0

統計打卡的天數

127.0.0.1:6379[1]> BITCOUNT sign    # 統計這周的打卡記錄,就可以看到是否全勤!
(integer) 3
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章