1. Bitmaps 位存储
- 统计用户信息:活跃/不活跃、登录/未登录、打卡/未打卡等两个状态的都可以使用Bitmaps。
- Bitmaps 位图,是一种数据结构,所有的命令都是用来操作二进制来进行记录,只有0和1两种状态。
2. 常用命令
-
setbit key offset value
给一个指定key的值得第offset位 赋值为value
-
getbit key offset
返回指定key的第offset位的value
-
bitcount key
返回一个指定key中位的值为1的个数(是以byte为单位不是bit)
举例:tom的一周打卡情况记录(1为打卡,0为未打卡)
127.0.0.1:6379> setbit tom:working 1 1 #周一:打卡
(integer) 0
127.0.0.1:6379> setbit tom:working 2 1 #周二:打卡
(integer) 0
127.0.0.1:6379> setbit tom:working 3 0 #周三:未打卡
(integer) 0
127.0.0.1:6379> setbit tom:working 4 1 #周四:打卡
(integer) 0
127.0.0.1:6379> setbit tom:working 5 0 #周五:未打卡
(integer) 0
127.0.0.1:6379> setbit tom:working 6 0 #周六:未打卡
(integer) 0
127.0.0.1:6379> setbit tom:working 7 0 #周日:未打卡
(integer) 0
127.0.0.1:6379> bitcount tom:working #统计tom一周的打卡天数
(integer) 3
127.0.0.1:6379> getbit tom:working 5 #获取tom周五的打卡情况
(integer) 0
127.0.0.1:6379> getbit tom:working 2 #获取tom周二的打卡情况
(integer) 1
127.0.0.1:6379>