HINCRBYFLOAT
将字段的浮点值增加一个数字。如果该字段不存在,则使用 0 作为初始值。
语法
HINCRBYFLOAT key field increment
引入版本:2.6.0
复杂度摘要:O(1)
将 key 中存储的哈希的指定 field 增加指定的 increment,该哈希表示浮点数。如果增量值为负,则结果是哈希字段值递减而不是增量。如果该字段不存在,则在执行操作之前将其设置为0。如果发生以下情况之一,则返回错误:
- 键包含错误类型的值(不是哈希值)。
- 当前字段内容或指定增量无法解析为双精度浮点数。
该命令的具体行为与 INCRBYFLOAT 命令的行为相同,请参阅 INCRBYFLOAT 的文档以获取更多信息。
必需参数
key
保存哈希值的键的名称。
field
其值要增加的字段。
increment
添加到字段值的浮点金额。相反,负值会减少该字段。
示例
redis> HSET mykey field 10.50
(integer) 1
redis> HINCRBYFLOAT mykey field 0.1
"10.6"
redis> HINCRBYFLOAT mykey field -5
"5.6"
redis> HSET mykey field 5.0e3
(integer) 0
redis> HINCRBYFLOAT mykey field 2.0e2
"5200"
实施细节
该命令始终作为 HSET 操作在复制链接和仅附加文件中传播,因此底层浮点数学实现中的差异不会成为不一致的根源。
Redis Software 与 Redis Cloud 兼容性
| Redis 软件 |
Redis Cloud |
说明 |
|---|---|---|
| ✅ 标准 |
✅ 标准 |
返回值
RESP2
批量字符串回复:自增操作后该字段的值。
RESP3
批量字符串回复:自增操作后该字段的值。
资料来源:Redis 官方 HINCRBYFLOAT 文档;中文内容参考 Redis 文档许可。