- 合理地使用操作位能够有效地提高内存使用率和开发效率。
Redis提供了Bitmap这个“数据类型”可以实现对位的操作:
- Bitmap本身不是一种数据类型, 实际上它就是字符串(key-value) , 但是它可以对字符串的位进行操作。
- Bitmap单独提供了一套命令, 所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一个以位为单位的数组, 数组的每个单元只能存储0和1, 数组的下标在Bitmaps中叫做偏移量。
命令
- setbit
- getbit
- bitcount
127.0.0.1:6379> setbit user:1001 0 1
(integer) 0
127.0.0.1:6379> setbit user:1001 1 1
(integer) 0
127.0.0.1:6379> setbit user:1001 2 0
(integer) 0
127.0.0.1:6379> setbit user:1001 3 0
(integer) 0
127.0.0.1:6379> bitcount user:1001
(integer) 2
127.0.0.1:6379> getbit user:1001 2
(integer) 0
127.0.0.1:6379> getbit user:1001 3
(integer) 0
127.0.0.1:6379> getbit user:1001 1
(integer) 1
127.0.0.1:6379>