假设有一个4G的Id数据,和一个800M的Id数据,要互相遍历,时间开销很大。
采用比特图解决比特图能成功将4G数据压缩到1-5k左右。
内存占用如果一条数据的存放地址用32 比特(bit)来表示 ,等于4 字节(byte)内存;那么一亿条数据,要占用一亿个地址,等于占用4亿字节的内存,等于381MB (1MB=1024KB=1024*1024B)。——可接受
如果一条数据的存放地址用64 比特(bit)来表示 ,等于8字节内存;那么一亿条数据,要占用762MB内存。
Redis中的位图(bitmap)属于 string 数据类型,一个字符串类型的值最多能存储 512 MB 的内容,每个字符串由多个字节组成,每个字节又由 8 个 Bit 位组成。位图结构正是使用“位”来实现存储的,它存储上限为2^32 。



