redis学习九:数据类型命令及落地运用 (bitmap)

发布时间 2023-06-16 16:58:56作者: 浮笙芸芸

redis位图bitmap:由0和1状态表现得二进制位的bit数组

需求:用户是否登录过Y,N,比如京东每日签到送豆;

电影,广告是否被点击播放过

钉钉打卡上下班

大厂签到必备

是什么:用于状态记录,Y,N不用去mysql读写。

1.bitmap的偏移量从0开始,

setbit key 0/1 设置对应下标值图中就是 1000010,对应ascall值就是B;

getbit key m获取m下标的值

 2.strlen key 看这个key占了几个字节,1byte=8bit

3.bitcount key 看这个key里有几个1,后面可以增加m,n就是从m到n一共有多少个1

 4.统计连续签到,先造一个hash表,每个数字对应人的id,然后去通过bitmap记录某日哪些人来了(对应hash表),

再用bitop and key key1 key2 获取两个位图并集中的1