Use LPUSH to add one or more elements to the head of a list, creating the list when the key does not exist.
Elements are inserted one after another, so they end up in reverse order relative to the argument list: LPUSH key a b c leaves the list as c, b, a. The reply is the length of the list after the push. If the key holds a value of another type the command returns an error.
Pushing to the head and popping from the tail with RPOP gives a first-in, first-out queue, while popping from the head with LPOP gives a stack. Combine with LTRIM to keep a capped list of recent items.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
<key> | Yes | No | Redis key targeted by the command. |
<element> | Yes | Yes | Element to push. |
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 | Integer |
| RESP3 | Integer |
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.