--- acl_categories: - '@write' - '@hash' - '@fast' arguments: - display_text: key key_spec_index: 0 name: key type: key - display_text: field name: field type: string - display_text: increment name: increment type: double arity: 4 categories: - docs - develop - stack - oss - rs - rc - oss - kubernetes - clients command_flags: - write - denyoom - fast complexity: O(1) description: Increments the floating point value of a field by a number. Uses 0 as initial value if the field doesn't exist. group: hash hidden: false key_specs: - RW: true access: true begin_search: spec: index: 1 type: index find_keys: spec: keystep: 1 lastkey: 0 limit: 0 type: range update: true linkTitle: HINCRBYFLOAT railroad_diagram: /images/railroad/hincrbyfloat.svg since: 2.6.0 summary: Increments the floating point value of a field by a number. Uses 0 as initial value if the field doesn't exist. syntax_fmt: HINCRBYFLOAT key field increment title: HINCRBYFLOAT --- Increment the specified `field` of a hash stored at `key`, and representing a floating point number, by the specified `increment`. If the increment value is negative, the result is to have the hash field value **decremented** instead of incremented. If the field does not exist, it is set to `0` before performing the operation. An error is returned if one of the following conditions occur: * The key contains a value of the wrong type (not a hash). * The current field content or the specified increment are not parsable as a double precision floating point number. The exact behavior of this command is identical to the one of the [`INCRBYFLOAT`]({{< relref "/commands/incrbyfloat" >}}) command, please refer to the documentation of [`INCRBYFLOAT`]({{< relref "/commands/incrbyfloat" >}}) for further information. ## Examples {{% redis-cli %}} HSET mykey field 10.50 HINCRBYFLOAT mykey field 0.1 HINCRBYFLOAT mykey field -5 HSET mykey field 5.0e3 HINCRBYFLOAT mykey field 2.0e2 {{% /redis-cli %}} ## Implementation details The command is always propagated in the replication link and the Append Only File as a [`HSET`]({{< relref "/commands/hset" >}}) operation, so that differences in the underlying floating point math implementation will not be sources of inconsistency. ## Redis Software and Redis Cloud compatibility | Redis
Software | Redis
Cloud | Notes | |:----------------------|:-----------------|:------| | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | ## Return information {{< multitabs id="hincrbyfloat-return-info" tab1="RESP2" tab2="RESP3" >}} [Bulk string reply](../../develop/reference/protocol-spec#bulk-strings): the value of the field after the increment operation. -tab-sep- [Bulk string reply](../../develop/reference/protocol-spec#bulk-strings): The value of the field after the increment operation. {{< /multitabs >}}