content/commands/hsetex.md
Set the value of one or more fields of a given hash key and optionally set their expiration time or time-to-live (TTL). If the given key already holds a value, it is overwritten and any previous TTLs associated with the key are discarded.
The HSETEX command supports a set of options:
FNX -- Only set the fields if none of them already exist.FXX -- Only set the fields if all of them already exist.EX seconds -- Set the specified expiration time in seconds.PX milliseconds -- Set the specified expiration time in milliseconds.EXAT unix-time-seconds -- Set the specified Unix time in seconds at which the fields will expire.PXAT unix-time-milliseconds -- Set the specified Unix time in milliseconds at which the fields will expire.KEEPTTL -- Retain the TTL associated with the fields.The EX, PX, EXAT, PXAT, and KEEPTTL options are mutually exclusive.
redis> HSETEX mykey EXAT 1740470400 FIELDS 2 field1 "Hello" field2 "World"
(integer) 1
redis> HTTL mykey FIELDS 2 field1 field2
1) (integer) 55627
2) (integer) 55627
redis> HSETEX mykey FNX EX 60 FIELDS 2 field1 "Hello" field2 "World"
(integer) 0
redis> HSETEX mykey FXX EX 60 KEEPTTL FIELDS 2 field1 "hello" field2 "world"
(error) ERR Only one of EX, PX, EXAT, PXAT or KEEPTTL arguments can be specified
redis> HSETEX mykey FXX KEEPTTL FIELDS 2 field1 "hello" field2 "world"
(integer) 1
redis> HTTL mykey FIELDS 2 field1 field2
1) (integer) 55481
2) (integer) 55481
| Redis Software | Redis Cloud | <span style="min-width: 9em; display: table-cell">Notes</span> | |:----------------------|:-----------------|:------| | <span title="Supported">✅ Standard</span> <span title="Supported"><nobr>✅ Active-Active</nobr></span> | <span title="Supported">✅ Standard</span> <span title="Supported"><nobr>✅ Active-Active</nobr></span> | |
{{< multitabs id="hsetex-return-info" tab1="RESP2" tab2="RESP3" >}}
One of the following:
0 if no fields were set.1 if all the fields wereset.-tab-sep-
One of the following:
0 if no fields were set.1 if all the fields wereset.{{< /multitabs >}}