redis --- bitfield类型使用

目录

一、bitfield类型使用

1.1、 bitfield key [get type offset]

 1.2、 bitfield key [set type offset value]

 1.3、 bitfield key [incrby type offset increment]

 1.4、overflow[wrap][sat][fall]


一、bitfield类型使用

1.1、 bitfield key [get type offset]

127.0.0.1:6379> get k1
"hello"
127.0.0.1:6379> bitfield k1 get i8 0
1) (integer) 104
127.0.0.1:6379> bitfield k1 get i8 8
1) (integer) 101
127.0.0.1:6379> bitfield k1 get i8 16
1) (integer) 108
 

 1.2、 bitfield key [set type offset value]

127.0.0.1:6379> get k1
"hello"
127.0.0.1:6379> bitfield k1 set i8 8 120
1) (integer) 101
127.0.0.1:6379> get k1
"hxllo"
 

 1.3、 bitfield key [incrby type offset increment]

 127.0.0.1:6379> bitfield k1 incrby u4 2 1
1) (integer) 11
127.0.0.1:6379> bitfield k1 incrby u4 2 1
1) (integer) 12
127.0.0.1:6379> bitfield k1 incrby u4 2 1
1) (integer) 13
127.0.0.1:6379> bitfield k1 incrby u4 2 1
1) (integer) 14
127.0.0.1:6379> bitfield k1 incrby u4 2 1
1) (integer) 15
127.0.0.1:6379> bitfield k1 incrby u4 2 1
1) (integer) 0

 这里默认incrby使用wrap参数

 1.4、overflow[wrap][sat][fall]

①、wrap:使用回绕(wrap around)方法处理有符号整数和无符号整数的溢出情况。

②、sat:使用饱和计算(saturation arithmetic)方法处理溢出,下溢计算结果为最小的整数值,而上溢计算的结果为最大的整数值。

127.0.0.1:6379> bitfield k1 overflow sat set i8 0 145
1) (integer) -122
127.0.0.1:6379> bitfield k1 get i8 0 
1) (integer) 127

③、fail:命令将拒绝执行那些会导致上溢或下溢情况出现的计算,并向用户返回空值表示计算未被执行。

 127.0.0.1:6379> bitfield k1 overflow fail set i8 0 230
1) (nil)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸭鸭老板

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值