⑥【bitmap 】Redis数据类型: bitmap [使用手册]

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

在这里插入图片描述


⑥Redis bitmap 基本操作命令


  • 用String类型作为底层数据结构实现的一种统计二值状态(0,1)的数据类型
  • 位图本质是数组,它是基于String数据类型的按位的操作。该数组由多个二进制位组成,每个二进制位都对应一个偏移量(我们称之为一个索引)。
  • Bitmap支持的最大位数是232位,它可以极大的节约存储空间,使用512M内存就可以存储多达42.9亿的字节信息(232 = 4294967296)

常见使用场景

  • 用户是否登陆过(Y/N)
  • 电影、视频、广告等是否被点击播放过
  • 上班打卡签到

1. setbit 设置偏移量的值(值只能0和1)


setbit key offset value


# bitmap的偏移量是从0开始的,值只能是0或1
# 将偏移量8的值设为1
bitmap bm1 8 1

在这里插入图片描述



2. getbit 获取指定偏移量的值


getbit key offset


# bitmap的偏移量是从0开始的,值只能是0或1
# 获取指定偏移量的值
getbit bm1 0
getbit bm1 8

在这里插入图片描述



3. strlen 统计字节数占用多少


strlen key


# bitmap的偏移量是从0开始的,值只能是0或1
# 按照8偏移位一组算一个byte,设置同一组偏移位,最多只会增加1的字节占用数
strlen bm1 # 查看bm1的字节占用


4. bitcount 统计全部键里面1的数量


bitcount key [start end [BYTE|BIT]]


# 统计键中偏移量的值为1的个数,可以指定bit或byte的范围
bitcount bm1 # 统计所有偏移量值为1的个数
bitcount bm1 0 3 bit # 统计0至3bit范围内,偏移量值为1的数量
bitcount bm1 0 3 byte# 统计0至3byte范围内,偏移量值为1的数量(1byte相当于8bit)

在这里插入图片描述





在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ebb29bbe/article/details/134621867
今日推荐