Upstash Documentation

ARNEXT

Get the index the next append will use.
2 min read

Use ARNEXT to read the index that the next ARINSERT would write to.

It reports the append cursor without moving it, so a producer can find out where its next write will land, or a reader can learn how far appends have progressed, without writing anything. The reply is 0 both when the key does not exist and when it exists but has never been appended to, since in both cases the next append goes to index 0.

Because the cursor tracks appends rather than contents, ARNEXT is unaffected by ARSET writes and by deletions. ARSEEK is the command that moves it.

See the array command overview for the data model these commands share.

Syntax#

Arguments#

ArgumentRequiredRepeatableDescription
<key>YesNoArray key targeted by the command.

Important points#

  • The reply is 0 for a key that does not exist and for one that has never been appended to.
  • The reply is null when the cursor already sits on the highest supported index, so no further append is possible.

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.

ProtocolReply
RESP2Integer, or bulk string when the index exceeds the signed 64-bit range, or Null bulk string
RESP3Integer, or Big number when the index exceeds the signed 64-bit range, or Null
Note

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
Note

This command is not supported yet in @upstash/redis.

upstash_redis
Note

This command is not supported yet in upstash_redis.

ioredis
node-redis
redis-py
go-redis
jedis
redis-rs