Redis的的bitmap从基础到业务从基础到业务
编程界的小学生编程界的小学生一、位与字节二、string与bitmap三、bitmap的api1、setbit2、bitpos3、bitcount4、bitop4.1、概述4.2、
and4.3、or四、利用bitmap完成需求1、统计某用户登录天数2、查看活跃用户总数五、总结
一、位与字节一、位与字节
1个字节(byte)等于8个位(bit)。(计算机常识)。
二、二、string与与bitmap
Redis里的bitmap是属于string这个数据类型里的。可以help进行查看bit相关api。
三、三、bitmap的的api
1、、setbit
稍微解释下,setbit 三个参数,第一个是key,第二个是偏移量,也就是在第几个位(从0开始)上写value,第三个是值(这
个值只支持0和1,因为是位,二进制。如果你写了大于1的数或者小于0的数,会报错的,不信的自己尝试。)
get b1是个@符号,因为get取的不是位,所以不是0和1,而是ASCII码里的值,所以在ASCII码里对应的是@。(二进制转10
进制,然后去ASCII码表里看,是@)
setbit b1 1 1其实对应的是(因为每个字节8个位):0 1 0 0 0 0 0 0
那我们在setbit b1 7 1,其实对应的就是:0 1 0 0 0 0 0 1,这时候gei b1就是A了,因为这个01000001在ASCII里对应的是大写A
评论0