BITMAP几种使用场景

使用bitmap优势就是降低资源,比如将两个小于16的值存放到一个字节的高四位和低四位中,这样即节省了存储空间,通信是又节省了带宽。

降低网络带宽

下图第一张是IP头部结构,第二张是TCP头部,都有BIT的用法。

另外bitmap还能用来做数值标记,数值标记可以用来做排序,也可以用在大数据的场景中,比如打卡、签到。

排序

做排序就是将待排序数列中的每个数值对应的bitmap置位,然后从bitmap的低位或者高位开始检查,如有下面一组数,将其从左向右对应到bitmap中

【4、8、3、1、2、6、7】

4------------------>00010000

8------------------>00010001

3------------------>00110001

1------------------>10110001

2------------------>11110001

6------------------>11110101

7------------------>11110111

从左向右查看那个位被置位了,分别是【1、2、3、4、6、7、8】

签到、打卡

数值标记中的数值如果代表一定的意义,比如工号、会员号等,那就不光能用来做排序,还能用来做签到、打卡等功能。

假设某个电商平台有过亿的会员数量,需要保存会员当天的打卡记录。假设会员号用一个四字节整形存储,是否打卡用一个字节存储。那最大需要19G的存储空间。如果用BITMAP实现最大只需要128M就可以。

 


版权声明:本文为oria2006原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。