BitMap,即位图,是一个byte数组,用二进制表示,只能存储0和1,BitMap并不是一个特殊的数据结构,它实质上还是普通的字符串。
由于BitMap本质上还是String, 所以我们可以使用get/set
直接获取整个位图的内容,也可以使用提供的专门的getbit/setbit
来按位处理
命令 | 含义 |
---|---|
getbit key offset | 获取指定偏移量offset上的位 |
setbit key offset value | 设置指定偏移量上的位,返回该位之前的值,value只能取0和1 |
bitcount key [start end] | 获取指定范围中值为1的个数 |
BITOP AND destkey key[ key1...] | 对一个或多个 key 求逻辑并,并将结果保存到destkey(AND也可以是OR(或), NOT(非), XOR(异或));如果处理的字符串长度不一致,短的那个字符串缺下的会以0填充 |
BITPOS key tartgetBit [start end] | 返回指定范围内第一个值等于tartgetBit的值的偏移量,找不到返回-1,targetBit只能取0和1 |