Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

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 题

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。