INCRBYFLOAT
将键的浮点值增加一个数字。如果键不存在,则使用 0 作为初始值。
语法
INCRBYFLOAT key increment
引入版本:2.6.0
复杂度摘要:O(1)
将表示存储在 key 中的浮点数的字符串增加指定的 increment。通过使用负 increment 值,结果是存储在键中的值会递减(通过加法的明显属性)。如果该键不存在,则在执行操作之前将其设置为 0。如果发生以下情况之一,则返回错误:
- 键包含错误类型的值(不是字符串)。
- 当前按键内容或指定增量无法解析为双精度浮点数。
如果命令成功,则新增加的值将存储为键的新值(替换旧值),并作为字符串返回给调用者。
字符串键中已包含的值和增量参数都可以选择以指数表示法提供,但是增量后计算的值以相同的格式一致存储,即一个整数后面(如果需要)加一个点,以及表示该数字的小数部分的可变位数。尾随零始终被删除。
无论计算的实际内部精度如何,输出的精度固定为小数点后 17 位。
必需参数
key
键名称。
increment
要添加到该值的浮点金额。相反,负值会减少该值。
示例
redis> SET mykey 10.50
OK
redis> INCRBYFLOAT mykey 0.1
"10.6"
redis> INCRBYFLOAT mykey -5
"5.6"
redis> SET mykey 5.0e3
OK
redis> INCRBYFLOAT mykey 2.0e2
"5200"
详细说明
实施
该命令始终作为 SET 操作在复制链接和仅附加文件中传播,因此底层浮点数学实现中的差异不会成为不一致的根源。
Redis Software 与 Redis Cloud 兼容性
| Redis 软件 |
Redis Cloud |
说明 |
|---|---|---|
| ✅ 标准 |
✅ 标准 |
返回值
RESP2
批量字符串回复:递增后key的值。
RESP3
批量字符串回复:递增后key的值。
资料来源:Redis 官方 INCRBYFLOAT 文档;中文内容参考 Redis 文档许可。