HINCRBYFLOAT

用法
HINCRBYFLOAT key field increment
复杂度
O(1)
起始版本
2.6.0
ACL 类别
@hash, @write, @fast

将存储在 key 中的哈希表里,表示浮点数的指定 field 的值增加 increment。如果 increment 值为负数,则哈希字段值将 减少 而不是增加。如果该字段不存在,则在执行操作之前将其设置为 0。如果发生以下任一情况,则会返回错误:

  • 键包含错误类型的值(不是哈希表)。
  • 当前字段内容或指定的增量不能解析为双精度浮点数。

此命令的确切行为与 INCRBYFLOAT 命令相同,有关详细信息,请参阅 INCRBYFLOAT 的文档。

示例

127.0.0.1:6379> HSET mykey field 10.50
(integer) 1
127.0.0.1:6379> HINCRBYFLOAT mykey field 0.1
"10.6"
127.0.0.1:6379> HINCRBYFLOAT mykey field -5
"5.6"
127.0.0.1:6379> HSET mykey field 5.0e3
(integer) 0
127.0.0.1:6379> HINCRBYFLOAT mykey field 2.0e2
"5200"

实现细节

此命令始终以 HSET 操作的形式传播到复制链接和仅追加文件(Append Only File)中,这样底层浮点数学实现中的差异就不会导致不一致。

RESP2/RESP3 回复

批量字符串回复:增量操作后字段的值。