Use WAITAOF to block until preceding writes have been persisted to the append-only file locally and on replicas.
<numlocal> is how many local acknowledgements to wait for and <numreplicas> how many replicas must have persisted the writes. The two-element reply gives the local count first and the replica count second, and either can come back lower than requested when the timeout expires, so both need checking. A timeout of 0 waits indefinitely.
Where WAIT confirms only that replicas received a write, WAITAOF confirms that it reached persistent storage, which is the stronger guarantee to ask for before acknowledging work that must survive a restart. On Upstash it waits for the writes enqueued before it began, including writes made by other connections.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
numlocal | Yes | No | Whether to wait for local persistence: 0 or 1. |
numreplicas | Yes | No | Non-negative number of replicas whose append-only files should include prior writes. |
timeout | Yes | No | Maximum wait in milliseconds; 0 means no timeout. |
Important points#
- This deployment waits for writes enqueued before
WAITAOFbegins, including writes from other connections. - The two-element reply contains the local persistence acknowledgement first and the replica persistence count second.
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 | Two-element array of integers: local and replica acknowledgments |
| RESP3 | Two-element array of integers: local and replica acknowledgments |
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.
Redis CLI
@upstash/redis
This command is not supported yet in @upstash/redis.
upstash_redis
This command is not supported yet in upstash_redis.