bitmap 位图算法

位图算法在处理大量用户数据时提供了一种高效存储方式。通过位数组来表示用户ID,0表示没有该用户,1表示存在。在用户画像场景中,每个标签对应一个位图,通过位运算可以快速查询满足多个条件的用户,如找出爱好上网且喜欢旅行的用户。此外,位图还可以进行持久化,将数字N转换为二进制来保存用户标签信息。
摘要由CSDN通过智能技术生成

位图算法简单介绍


1.业务场景

有一批用户数据

id分别为 :1,2,3,4,5,6,7,8,9,10 ( int );

如果依赖java内存来进行存储的话,从数据大小的角度来说,1 int 32bit,存储该批数据内存大小使用 10 * 32 bit ,但此时我们的用户数据3000W条,

继续使用内存的情况下将使用 960000000bit 即0.11G ,如果用户数据3亿条…


2.bitmap结构

引出位图算法。给出长度是10的bit数组,每一个bit位分别对应着从0到9的10个

整型数(用户id),初始bit数组所有元素值都为0,  bit为二进制位,0表示没有值,1表示有值。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值