BitMap是什么
Bitmap(即Bitset)
Bitmap是一串连续的2进制数字(0或1),每一位所在的位置为偏移(offset),bitmap就是通过最小的单位bit来进行0或者1的设置,表示某个元素对应的值或者状态。
Redis中的BitMap
Redis从2.2.0版本开始新增了setbit
,getbit
,bitcount
等几个bitmap相关命令。虽然是新命令,但是并没有新增新的数据类型,因为setbit
等命令只不过是在set
上的扩展。在bitmap上可执行AND,OR,XOR以及其它位操作。
相关命令
setBit
说明:给一个指定key的值得第offset位 赋值为value。
参数:[key ,offset ,value]: bool or int (1 or 0)
返回值:LONG: 0 or 1
getBit
说明:返回一个指定key的二进制信息
参数:[key, offset]
返回值:LONG
bitCount
说明:返回一个指定key中位的值为1的个数
参数:[key, start ,offset] (是以byte为单位不是bit)
返回值&