现代计算机用二进制(位) 作为信息的基础单位, 1个字节等于8位, 例如“big”字符串是由3个字节组成, 但实际在计算机存储时将其用二进制表示, “big”分别对应的ASCII码分别是98、 105、 103, 对应的二进制分别是01100010、 01101001和01100111, 如图3-9所示。
许多开发语言都提供了操作位的功能, 合理地使用位能够有效地提高内存使用率和开发效率。 Redis提供了Bitmaps这个“数据结构”可以实现对位的操作。 把数据结构加上引号主要因为:
Bitmaps本身不是一种数据结构, 实际上它就是字符串(如图3-10所示) , 但是它可以对字符串的位进行操作。
Bitmaps单独提供了一套命令, 所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一个以位为单位的数组, 数组的每个单元只能存储0和1, 数组的下标在Bitmaps中叫做偏移量。
将每个独立用户是否访问过网站存放在Bitmaps中, 将访问的用户记做1, 没有访问的用户记做0, 用偏移量作为用户的id。
设置值
setbit key offset value
设置键的第offset个位的值(从0算起&#x