原理
先声明一下:Redis 有5种数据类型,而 BitMap 在 Redis 中并不是一个新的数据类型,其底层是 Redis 实现。
通常情况下,我们在 redis 中存储一个字符串,如:“big”,它的位图如下:
0.001kb = 1b = 8bit
所以,字符串“big”占3个字符,也就是24个bit位。
Redis 从 2.2.0 版本开始新增了 setbit,getbit,bitcount 等几个 bitmap 相关命令。虽然是新命令,但是并没有新增新的数据类型,因为 setbit 等命令只不过是在 set 上的扩展。
利用上述命令,Redis 可以操作二进制的位,可以取/改每一个位对应的值,简单写几个:
127.0.0.1:6379 > set hello big
"OK"
127.0.0.1:6379 > getbit hel