Redis INCRBYFLOAT 命令

Redis 字符串(String)

Redis INCRBYFLOAT 命令为 key 中所储存的值加上指定的浮点数增量值。

如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作。

 

1. 语法

redis INCRBYFLOAT 命令基本语法如下:

INCRBYFLOAT KEY_NAME INCR_AMOUNT

 

2. 可用版本

>= 2.6.0

 

3. 返回值

执行命令之后 key 的值。

 

4. 范例

# 值和增量都不是指数符号

redis 127.0.0.1:6379> SET codebaoku-key 10.50
OK

redis 127.0.0.1:6379> INCRBYFLOAT codebaoku-key 0.1
"10.6"


# 值和增量都是指数符号

redis 127.0.0.1:6379> SET codebaoku-key 314e-2
OK

# 用 SET 设置的值可以是指数符号

redis 127.0.0.1:6379> GET codebaoku-key
"314e-2"

# 但执行 INCRBYFLOAT 之后格式会被改成非指数符号
redis 127.0.0.1:6379> INCRBYFLOAT codebaoku-key 0
"3.14"


# 可以对整数类型执行

redis 127.0.0.1:6379> SET codebaoku-key 3
OK

redis 127.0.0.1:6379> INCRBYFLOAT codebaoku-key 1.1
"4.1"


# 后跟的 0 会被移除

redis 127.0.0.1:6379> SET codebaoku-key 3.0
OK

# SET 设置的值小数部分可以是 0

redis 127.0.0.1:6379> GET codebaoku-key
"3.0"

# 但 INCRBYFLOAT 会将无用的 0 忽略掉,有需要的话,将浮点变为整数

redis 127.0.0.1:6379> INCRBYFLOAT codebaoku-key 1.000000000000000000000    
"4"

redis 127.0.0.1:6379>  GET codebaoku-key
"4"

Redis 字符串(String)

Redis DECRDECR 命令将 key 中储存的数字值减一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。本操作的值限制在 64 位(bit)有符号数字表示之内。语法:DECR KEY_NAME。