INCRBY
INCR key 增量数字
为键 key 储存的数字值加上增量 数字 。
如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 INCRBY 命令。
如果键 key 储存的值不能被解释为数字, 那么 INCRBY 命令将返回一个错误。
例子:
键存在,并且值为数字:
redis> SET rank 50
OK
redis> INCRBY rank 20
70
redis> GET rank
"70"
键不存在:
redis> EXISTS counter
0
redis> INCRBY counter 30
30
redis> GET counter
"30"
键存在,但值无法被解释为数字:
redis> SET book "long long ago..."
OK
redis> INCRBY book 200
(error) ERR value is not an integer or out of range
INCRBYFLOAT
INCRBYFLOAT key 增量小数
为键 key 储存的值加上浮点数增量小数。
如果键 key 不存在, 那么 INCRBYFLOAT 会先将键 key 的值设为 0 , 然后再执行加法操作。
如果命令执行成功, 那么键 key 的值会被更新为执行加法计算之后的新值, 并且新值会以字符串的形式返回给调用者。
无论加法计算所得的浮点数的实际精度有多长, INCRBYFLOAT 命令的计算结果最多只保留小数点的后十七位。
当以下任意一个条件发生时, 命令返回一个错误:
键 key 的值不是字符串类型(因为 Redis 中的数字和浮点数都以字符串的形式保存,所以它们都属于字符串类型);
键 key 当前的值或者给定的增量小数 不能被解释(parse)为双精度浮点数。
例子:
redis> GET counter
"30"
redis> INCRBYFLOAT counter 2.56
"32.56"
redis> GET counter
"32.56"
DECRBY
DECRBY key 减量
将键 key 储存的整数值减去减量 decrement 。
如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 DECRBY 命令。
如果键 key 储存的值不能被解释为数字, 那么 DECRBY 命令将返回一个错误。
DECRBY 命令会返回键在执行减法操作之后的值。
例子:
对已经存在的键执行 DECRBY 命令:
redis> SET count 100
OK
redis> DECRBY count 20
80
对不存在的键执行 DECRBY 命令:
redis> EXISTS pages
0
redis> DECRBY pages 10
-10
网友评论