说明
- Redis-04-Bitmaps数据类型
- Bitmaps数据类型适用场景是?
- 比如可以以天为维度统计当天用户活跃度(是否登录、总登录人数等)
- 比如可以统计连续n天登陆过的用户
- Bitmaps数据结构是?
- key={offset1:value1,offset2:value2,}
- offset:integer,不必连续,比如可以存用户ID
- value:只接受0和1
- 注意:初始化Bitmaps时如果offset偏移量很大会比较慢,可能造成Redis阻塞
- Bitmaps的优点?
操作步骤
》常用命令
# 设置offset的value
127.0.0.1:6379> setbit k 10 1
(integer) 1
# 获取offset的value
127.0.0.1:6379> getbit k 10
(integer) 1
# 统计value为1的数量
127.0.0.1:6379> bitcount k
(integer) 2
# 获取两个Bitmaps交集
127.0.0.1:6379> bitop and destk k1 k2
(integer) 2
127.0.0.1:6379> bitcount destk
(integer) 2
# 获取两个Bitmaps并集
127.0.0.1:6379> bitop or destk k1 k2
(integer) 2
127.0.0.1:6379> bitcount destk
(integer) 4
# 获取两个Bitmaps差集
127.0.0.1:6379> bitop not k1 k2
(integer) 2