redis命令行String类型之bitmap使用详解

redis命令行之bitmap类型使用详解:

1、查看帮助命令:

setbit key offset value 是其存储结构。

offset 是指二进制位的偏移量;一个字节有8个二进制位;

2、二进制位设置演示:

1)setbit k1 1 1 此命令中offset 是1 ,value 是 1(这里只可能是0或1,二进制的原因呗),此处的长度也是1。

2)setbit k1 9 1 ,长度是2, 字节第9位已经超过了二进制的首个字符,三个地方打了1的标识,对应的ASCII码是A@。

get获取的时候取到的是ASCII码对应的值: man ascii 命令

结果如下:

Hex 代表16进制,41 中4代表前四位的值,1代表后四位的值。

3、bitpos 命令使用帮助

演示:

4、BITCOUNT 命令使用:

画图演示:

5、bitop 命令

演示 与操作:

演示或操作:

6、有用户系统,统计用户登录天数,且窗口随机

setbit sean 1 1

setbit sean 7 1

setbit sean 364 1

STRLEN sean

BITCOUNT sean -2 -1

计算模式:

7、京东,618做活动:送礼物

大库备货多少礼物

假设京东有2E用户

僵尸用户

冷热用户/忠诚用户

活跃用户统计!随即窗口

比如说 1号~3号 连续登录要 去重

setbit 20190101 1 1

setbit 20190102 1 1

setbit 20190102 7 1

bitop or destkey 20190101 20190102

BITCOUNT destkey 0 -1

计算模式:

经验分享 程序员 微信小程序 职场和发展