Redis Bitmap 怎样记录状态?
查看完整题解
参考回答
直接回答
Bitmap 基于 String 的位操作。用 SETBIT 把某偏移置为 0 或 1,GETBIT 读取,BITCOUNT 统计置 1 的位数。适合连续编号和布尔状态。
讲清原理
内存跟最大偏移有关,即使只设置很少的位,巨大的稀疏编号也可能扩出很大字符串。多天统计可按日期和范围分键。
例子与易错点
每日签到可以将内部连续用户编号映射成偏移。原始随机 ID 很大时,先转换到紧凑编号,或改用 Set。
两个位置置 1,只统计到两位。
SETBIT q67:today 0 1
SETBIT q67:today 9 1
GETBIT q67:today 9
BITCOUNT q67:today
相关题 · 第 71 题、第 47 题
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。