1. setbit
设置或清除位图中的位(bit)。
setbit key offset value
示例:
setbit mybitmap 0 1 # 设置第0位为1
setbit mybitmap 1 0 # 设置第1位为0
2. getbit
获取位图中的位值。
getbit key offset
示例:
getbit mybitmap 0 # 获取第0位的值
3. bitcount
计算位图中值为1的位数。
bitcount key [start end]
示例:
bitcount mybitmap # 计算整个位图中1的位数
bitcount mybitmap 0 1 # 计算从第0位到第1位中1的位数
4. bitpos
查找位图中第一个值为0或1的位的位置。
bitpos key bit [start end]
示例:
bitpos mybitmap 1 # 查找第一个值为1的位的位置
bitpos mybitmap 0 # 查找第一个值为0的位的位置
5. bitop
对多个位图执行位运算,并将结果存储在指定的键中。
bitop operation destkey key [key ...]
示例:
bitop and andresult mybitmap otherbitmap # 执行AND运算
bitop or orresult mybitmap otherbitmap # 执行OR运算
bitop xor xorresult mybitmap otherbitmap # 执行XOR运算
bitop not notresult mybitmap # 执行NOT运算
6. bitfield
对位图进行高级操作,如设置、清除、增加、减去位域的值。
bitfield key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL]
示例:
bitfield mybitmap set i8 0 100 # 设置从第0位开始的8位整数为100
bitfield mybitmap incrby i8 0 1 # 将从第0位开始的8位整数增加1
用于存储位运算结果的键名。