Bitmaps的介绍
- 现代计算机使用二进制位作为信息存储的基本单元。一个字节(Byte)等于8个二进制位(bit)。合理的使用位能有效提高内存使用率和开发效率。
 - 位是最小信息单位,可以表示两个状态之一。
 - 字节是更大的单位,用多个位组成,在计算机中数据以字节为单位进行存储和访问。
 - Redis提供了Bitmaps这种,虽然本质上也是字符串,但是他却可以对字符串进行位的操作。
 - Bitmaps单独提供了一套命令,有区别于使用字符串String的命令。
 - 可以把Bitmaps想象成一个以位为单位的数组,数组的每个单元只能存储0和1,数组的下标在Bitmaps中叫做偏移量。
 
关于Bitmaps在Redis中的操作指令
- setbit设置值
 - setbit key offset value(设置键的第offset个位的值,从0开始计算)
 - 不同学号的用户分别进行了一次的访问、后面2019102857写的意思是从第0位开始算起第2019102857个位。显然这样子的设置并不是很合理。学号是由相同的数组开头的,这里是201910。要是直接将上述学号直接操作Bitmaps的位偏移量,势必会造成内存的浪费,我们可以使用学号减去201910,后续的数组作为偏移量来进行计算。

 - gitbit获取值
 - gitbit key offset
 - 存在访问或则会返回1,对应的学号id没有访问过,或者学号都不存在都会返回0

 - bitcount获取Bitmaps指定范围位数上是1的个数
 - bitcount [strat] [end]
 - 从学号0到学号2019102860刚好这之间只有4人各自访问一次

 - bitop Bitmaps 间的运算
 - bitop op destkey key [key …]
 - 下面这个是求并集
 - and并集、or交集、not非、xor异或

 - 计算Bitmaps中第一个值为targetBit的位偏移量
 - bitpos key targetBit [start] [end]
 - start 、end可以省略,省略将会遍历整个Bitmaps
 - 返回值是字符串里面第一个被设置为0或者1的bit位

 
删除当前redis数据库中key的命令
- flushdb
 

- flushall
 - 删除redis中全部key的命令

 










