redis数据类型-位图bitmap
文档
- redis单机安装
- redis常用的五种数据类型
说明
- 官网操作命令指南页面:https://redis.io/docs/latest/commands/?name=get&group=string
位图:bitmap
基本命令
setbit k1 1 1
:下标为1的bit设置为1,一个子节有8位,按照从左到右的顺序,下标依次是0-7,下标8表示第二个子节的最高位(最左边),例如:setbit k1 1 1
,表示的是0100 0000
,对应的字符是@
,get k1
返回@
setbit k3 9 1
:下标为9的bit设置为1,此时k3的值占用了2个子节getbit k1 0
:键k1的值二进制表示,下标为0的bit的值strlen k1
:获取键k1的值占用的子节数bitcount k1
:查询bit为1的个数bitop and k3 k1 k2
:k1、k2的值做与操作,赋值给k3
应用场景
- 签到,用户名做为键,值的每一位做为日期,设置为1表示已签到,统计1的个数,就可以统计该用户的签到次数
- 统计连续签到,日期做为键,约定值的每一位分别对应一个用户,对应位设置为1,表示当天,当前用户已签到。对连续日期的值做与运算赋值给新的键,统计该新键的1的个数,就表示连续签到用户的个数