一、Bitfield 定位Bitmap 仅支持单 bit 读写Bitfield 可一次性操作多 bit、多精度整数u8/u16/i8/i32 等无符号 / 有符号整数批量位运算一条命令完成多组读写、增减大幅减少网络 IO。适用场景批量用户积分、状态批量存储小型计数器按 bit 紧凑存储多段位区间一次性读写修改二、命令基础语法BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW wrap/sat/fail]类型说明u8/u16/u32无符号 8/16/32 位整数i8/i16/i32有符号整数溢出策略 OVERFLOWwrap环绕溢出默认二进制循环sat饱和截断到最大值不再上涨fail溢出时报错不执行三、实操示例1. 读取多段位整数从偏移 0 读取 u8偏移 8 读取 i16bitfield user_stat get u8 0 get i16 82. 批量写入位数值# 0号8位无符号设为18号16位有符号设为100 bitfield user_stat set u8 0 1 set i16 8 1003. 位区间自增高频场景用户在线时长紧凑计数器溢出饱和不超上限bitfield user_stat overflow sat incrby u8 0 1四、对比普通 Bitmap 优势单命令执行多段位读写减少多次 setbit 网络往返原生支持有 / 无符号整数自动转换无需手动计算 bit 拼接内置自增与溢出保护适合紧凑小型计数器支持一次性批量读取一批用户状态统计性能大幅提升五、实战场景用户多维度状态压缩存储1 字节存储在线、会员、签到 3 个状态轻量化计数器用 16bit 存储小型数值节省内存批量统计任务一次性读取上千个 bit 数值批量计算六、简单示例# 写入两个8位无符号整数 bitfield test set u8 0 10 set u8 8 20 # 自增第一个数值溢出饱和 bitfield test overflow sat incrby u8 0 5 # 读取结果 bitfield test get u8 0 get u8 8