redis-BitMap(位图)使用方法

一,BitMap介绍

使用位存储,信息状态只有 0 和 1

Bitmap是一串连续的2进制数字(0或1),每一位所在的位置为偏移(offset),在bitmap上可执行AND,OR,XOR,NOT以及其它位操作。

二 ,应用场景

签到统计、状态统计

三,命令

bash 复制代码
命令	描述
setbit key offset value	为指定key的offset位设置值
getbit key offset	获取offset位的值
bitcount key [start end]	统计字符串被设置为1的bit数,也可以指定统计范围按字节
bitop operration destkey key[key...]	对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上。
BITPOS key bit [start] [end]	返回字符串里面第一个被设置为1或者0的bit位。start和end只能按字节,不能按位

四,应用场景

bash 复制代码
------------setbit--getbit--------------
127.0.0.1:6379> setbit sign 0 1 # 设置sign的第0位为 1 
(integer) 0
127.0.0.1:6379> setbit sign 2 1 # 设置sign的第2位为 1  不设置默认 是0
(integer) 0
127.0.0.1:6379> setbit sign 3 1
(integer) 0
127.0.0.1:6379> setbit sign 5 1
(integer) 0
127.0.0.1:6379> type sign
string

127.0.0.1:6379> getbit sign 2 # 获取第2位的数值
(integer) 1
127.0.0.1:6379> getbit sign 3
(integer) 1
127.0.0.1:6379> getbit sign 4 # 未设置默认是0
(integer) 0

-----------bitcount----------------------------
127.0.0.1:6379> BITCOUNT sign # 统计sign中为1的位数
(integer) 4



# 1.setbit key offset value 
setbit sign 0 1 #周一打卡
setbit sign 1 0 #周二未打卡

# 2.getbit key offset
getbit sign 1 #查看周二是否打卡

# 3.bitcount key 
bitcount sign #统计打卡了几次
相关推荐
alonewolf_999 分钟前
深入解析G1与ZGC垃圾收集器:原理、调优与选型指南
java·jvm·算法
小镇学者10 分钟前
【c++】C++字符串删除末尾字符的三种实现方法
java·开发语言·c++
rfidunion11 分钟前
springboot+VUE+部署(1。新建项目)
java·vue.js·spring boot
小翰子_12 分钟前
Spring Boot整合Sharding-JDBC实现日志表按月按周分表实战
java·spring boot·后端
weixin_3993806920 分钟前
OA 系统假死问题分析与优化
java·运维
SmartRadio23 分钟前
在CH585M代码中如何精细化配置PMU(电源管理单元)和RAM保留
linux·c语言·开发语言·人工智能·单片机·嵌入式硬件·lora
济61733 分钟前
linux(第十四期)--Uboot移植(2)-- 在U-Boot 中添加自己的开发板-- Ubuntu20.04
linux·运维·服务器
ben9518chen36 分钟前
嵌入式linux操作系统简介
linux·运维·服务器
菜鸟笔记本38 分钟前
linux设置定时备份mysql数据
linux·mysql·oracle
豆沙沙包?39 分钟前
2026年--Lc334-2130. 链表最大孪生和(链表转数组)--java版
java·数据结构·链表