redis特殊数据类型Bitmap(位存储)
通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身。适用表示只有2个状态的数据,使用bitmap会极大的节省储存空间
常用命令
命令 | 说明 |
---|---|
setbit key offset value | 设置位存储,offset表示第几位,value只能为 0 或 1 |
getbit key offset | 获取位存储 |
bitcount key | 统计位存储中1的个数 |
示例
## 用来统计一周7天的打卡数据
127.0.0.1:6379> setbit sign 0 1
(integer) 0
127.0.0.1:6379> setbit sign 1 1
(integer) 0
127.0.0.1:6379> setbit sign 2 0
(integer) 0
127.0.0.1:6379> setbit sign 3 1
(integer) 0
127.0.0.1:6379> setbit sign 4 1
(integer) 0
127.0.0.1:6379> setbit sign 5 0
(integer) 0
127.0.0.1:6379> setbit sign 6 0
(integer) 0
127.0.0.1:6379> getbit sign 1
(integer) 1
127.0.0.1:6379> getbit sign 5
(integer) 0
127.0.0.1:6379> bitcount sign
(integer) 4