Redis Bitmap

使用 Redis 的 Bitmap 来存储上亿用户一星期内的签到情况是一个非常高效的方法。Bitmap 可以在内存中高效地存储和操作大量的布尔值,非常适合这种需要记录大量用户签到情况的场景。 假设我们有以下需求:

  • 上亿用户(例如 1 亿用户)
  • 每个用户一周内的签到情况(7 天)

(7 天)所有用户连续登录

7 个 Bitmap

日期 -> Bitmap key

用户🆔 -> Bitmap 偏移位(用户🆔为唯一的数字)

以最后一天为起点向前追溯, 遇到 1 则加 1, 遇到 0 则停止追溯

单个用户连续登录

用户🆔 -> Bitmap key

日期 -> Bitmap 偏移位

总结

以两个维度进行存储, 日期 && 用户