incr

abbr.increase (价值,价格,库存,金额,生产等)增加;increasing 增加;increased 增加的;incremental 增加的

by

英 [baɪ]   美 [baɪ]  

prep.在…旁边;表示方式;由于;经过

adv.经过;表示保留或保存时用;短暂拜访

float

英 [fləʊt]   美 [floʊt]  

vt.& vi.(使)浮动;(使)漂浮;自由浮动

vi.游荡

vt.提出,提请考虑;(股票)上市

n.彩车;漂浮物;浮板;浮有冰淇淋的饮料

第三人称单数: floats 复数: floats 现在分词: floating 过去式: floated 过去分词: floated

redis INCRBYFLOAT命令 语法

作用:为 key 中所储存的值加上浮点数增量 increment 。

语法:INCRBYFLOAT key increment

说明:如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作。如果命令执行成功,那么 key 的值会被更新为(执行加法之后的)新值,并且新值会以字符串的形式返回给调用者。无论是 key 的值,还是增量 increment ,都可以使用像 2.0e7 、 3e5 、 90e-2 那样的指数符号(exponential notation)来表示,但是,执行 INCRBYFLOAT 命令之后的值总是以同样的形式储存,也即是,它们总是由一个数字,一个(可选的)小数点和一个任意位的小数部分组成(比如 3.14 、 69.768 ,诸如此类),小数部分尾随的 0 会被移除,如果有需要的话,还会将浮点数改为整数(比如 3.0 会被保存成 3 )。除此之外,无论加法计算所得的浮点数的实际精度有多长, INCRBYFLOAT 的计算结果也最多只能表示小数点的后十七位。

可用版本:>= 2.6.0

时间复杂度:O(1)

返回:执行命令之后 key 的值。

redis INCRBYFLOAT命令 示例

# 值和增量都不是指数符号
redis> SET mykey 10.50
OK
redis> INCRBYFLOAT mykey 0.1
"10.6"
# 值和增量都是指数符号
redis> SET mykey 314e-2
OK
redis> GET mykey                # 用 SET 设置的值可以是指数符号
"314e-2"
redis> INCRBYFLOAT mykey 0      # 但执行 INCRBYFLOAT 之后格式会被改成非指数符号
"3.14"
# 可以对整数类型执行
redis> SET mykey 3
OK
redis> INCRBYFLOAT mykey 1.1
"4.1"
# 后跟的 0 会被移除
redis> SET mykey 3.0
OK
redis> GET mykey                                    # SET 设置的值小数部分可以是 0
"3.0"
redis> INCRBYFLOAT mykey 1.000000000000000000000    # 但 INCRBYFLOAT 会将无用的 0 忽略掉,有需要的话,将浮点变为整数
"4"
redis> GET mykey
"4"