数据库
PythonJava前端运维
Redis
Redis
  • Redis 简介
  • 安装和连接
  • Redis 键(key)
  • Redis 数据类型
    • 基本数据类型
      • String
      • Lists
      • Sets
      • zset
      • Hashs
    • 特殊类型
      • Bitmaps
      • HyperLogLog
      • Geospatial
    • Sorted sets
    • Streams
    • Geospatial
    • Bitfields
  • Redis 配置
  • Redis CLI
  • Redis 持久化
  • Redis 事务
  • Redis 管道
  • Redis 发布订阅
  • Redis 脚本
  • Redis 数据备份与恢复
  • Redis 缓存问题
  • Redis 运维监控
由 GitBook 提供支持
在本页

这有帮助吗?

  1. Redis 数据类型
  2. 特殊类型

Bitmaps

上一页特殊类型下一页HyperLogLog

最后更新于8个月前

这有帮助吗?

Bitmap 即位图数据结构,都是操作二进制位来进行记录,只有 0 和 1 两个状态。

上图中,每个小格子里面只能放0或1,用它来判断Y/N状态。

说明:用String类型作为低层数据结构实现的一种统计二值状态的数据类型,位图本身是数组,它是基于String数据类型的按位的操作。该数组由多个二进制位组成,每个二进制位都对应一个偏移量(称之为一个索引)。

Bitmap 支持最大位数是2^32位,他可以极大的节约存储空间,使用难512M内存就可以存储多达42.9亿的字节信息(2^32)

使用场景:统计用户信息,例如活跃、打卡、未打卡,签到统计,

相关命令使用:

# 使用 bitmap 来记录周一到周日的打卡!
setbit sign 0 1
setbit sign 1 1
setbit sign 2 0

# 查看某天是否签到
getbit sign 2

# 统计操作,统计打卡天数,检索值为1的结果
bitcount sign

# bittop
# strlen
Drawing