说明
bitmaps
(位图)主要用来记录只有两种
的状态
的事件。
比如:活跃|不活跃、登录|未登录、成功|失败
优势
- 存储信息时通常可以极大地节省空间,仅使用 512 MB 内存就可以记住 40 亿用户的单个位信息。
- 设置时候时间复杂度O(1)、读取时候时间复杂度O(n),操作是非常快的。
- 二进制数据的存储,进行相关计算的时候非常快。
- 方便扩容
使用
常用三个命令,就很简单,就直接举例子( 打卡 | 签到 )
setbit key offset value
- offset:value 的偏移值,初始值为 0(看下面的图)
- value:只能是 0 or 1 (这是二进制的位)
127.0.0.1:6379> SETBIT sign:Bob:202201 1 1 # 设置 这里的 1|0 是二进制 (integer) 0 127.0.0.1:6379> SETBIT sign:Bob:202201 2 1 (integer) 0 127.0.0.1:6379> SETBIT sign:Bob:202201 3 0 (integer) 0 127.0.0.1:6379> SETBIT sign:Bob:202201 4 1 (integer) 0 127.0.0.1:6379> SETBIT sign:Bob:202201 5 1 (integer) 0 127.0.0.1:6379> SETBIT sign:Bob:202201 6 1 (integer) 0 127.0.0.1:6379> SETBIT sign:Bob:202201 7 1 (integer) 0 127.0.0.1:6379> GETBIT sign:Bob:202201 2 # 获取某天状态 (integer) 1 127.0.0.1:6379> BITCOUNT sign:Bob:202201 # 统计 位 1 的数量 (integer) 6
版权声明:《 【redis】三大特殊类型 bitmaps 位图 》为明妃原创文章,转载请注明出处!
最后编辑:2022-1-29 13:01:21