什么是 BitMap

BitMap,即位图,其实也就是 byte 数组,用二进制表示,只有 0 和 1 两个数字。
如图所示:
在这里插入图片描述

重要 API

在这里插入图片描述
演示:
在这里插入图片描述

应用场景

统计每日用户的登录数。每一位标识一个用户ID,当某个用户访问我们的网页或执行了某个操作,就在bitmap中把标识此用户的位设置为1。

这里做了一个 使用 set 和 BitMap 存储的对比。
场景1:1 亿用户,5千万独立
在这里插入图片描述
场景2:只有 10 万独立用户

在这里插入图片描述
通过上面的对比,我们可以看到,如果独立用户数量很多,使用 BitMap 明显更有优势,能节省大量的内存。但如果独立用户数量较少,还是建议使用 set 存储,BitMap 会产生多余的存储开销。

使用经验

1、type = string,BitMap 是 sting 类型,最大 512 MB
2、注意 setbit 时的偏移量,可能有较大耗时
3、位图不是绝对好

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐