一.序言 在实际开发中常常遇到如下需求:判断当前元素是否存在于已知的集合中,将已知集合中的元素维护一个HashSet,使用时只需耗时O(1)的时间复杂度便可判断出结果,Java内部或者Redis均提供相应的数据结构.使用此种方式除了占用内存空间外,几乎没有其它缺点. 当数据量达到亿级别时,内存空间的占用显著表现出来,BitMap便是解决此类问题的一种途径. 二.BitMap结构 1.内存消耗分析 Redis BitMap能够存储的数据范围为[0,2^32-1],超过Integer.MAX_VAL