读写与溢出
读写与溢出
BITFIELD counters SET u8 0 200 INCRBY u8 0 10 GET u8 0
# -> [0, 210, 210]
BITFIELD flags SET u1 0 1 GET u1 0
# 用 # 表示第 n 个该宽度字段的位置(#3 = 3*8 位)
BITFIELD counters GET u8 '#3'
# 饱和自增(不越界回绕)
BITFIELD acct OVERFLOW SAT INCRBY u8 0 100 INCRBY u8 0 100| 类型 | u1..u63 无符号、i1..i64 有符号 |
|---|---|
| 偏移 | 数字=位数;#n=第 n 个字段(n*位宽) |
| OVERFLOW | WRAP 默认回绕 / SAT 饱和 / FAIL 报错,作用于其后的操作 |
| 返回 | 各操作结果数组,SET 返回旧值 |
位域布局(哪个字段占第几位)必须由业务自己固化文档,改版时当作二进制协议处理。