Redis 提供了 setbit、getbit、bitcount、bitop 四个命令用于处理二进制位数组。
setbit 命令用于为位数组指定偏移量上的二进制位设置值,偏移量从 0 开始计数。
getbit 命令用于获取位数组指定偏移量上的二进制位的值。
bitcount 命令用于统计位数组里面,值为 1 的二进制位的数量。
bitop 命令即可以对多个位数组进行and、or、xor,也可以进行 not 操作。
位数组的表示
Redis 使用字符串对象来表示位数组。 因为字符串对象使用的 SDS 结构是二进制安全的,所以程序可以直接用 SDS 结构来保存位数组,并使用 SDS 结构的操作函数来处理位数组。