数学上有一个“计算汉明重量”的问题,即求取一个二进制位中非 0 的数量。使用 Redis 提供的 Bitmap 统计时恰恰是这样一个问题,学习后能发现解决办法却是如此巧妙。
Redis 使用字符串对象来表示位数组,因为字符串对象使用的 SDS 数据结构是二进制安全的,所以程序可以直接使用 SDS 结构来保存位数组,并使用 SDS 结构的操作函数来处理位数组。
在 SDS 结构当中,buf 字节数组除了字符串结尾的
buf