Use MSET to set several keys to their values in one atomic call.
All the keys are written together, with no other command running in between, so other clients never observe a state where only part of the batch has been applied. Existing values are overwritten and their expirations are discarded. The reply is always OK.
Use MSETNX when the write should only happen if none of the keys exist, and set keys individually with SET when each needs its own expiration.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
<key> <value> | Yes | Yes | Key and the value to store in it. Repeat to set several keys in one call. |
Response#
The reply reports the result of the operation. Error replies have the same shape in RESP2 and RESP3 and are surfaced as exceptions by the SDKs below.
| Protocol | Reply |
|---|---|
| RESP2 | Simple string OK |
| RESP3 | Simple string OK |
Client libraries often decode bulk strings, maps, sets, and numeric strings into language-native values. The table describes the Redis wire reply.
Examples#
TCP examples use the TLS REDIS_URL from the Upstash console. REST examples use UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN.