Use LTRIM to keep only a range of elements in a list and delete everything outside it.
Both ends are inclusive, zero-based, and may be negative to count from the tail. If <start> is greater than <stop> or lies past the end of the list, every element is removed and the key is deleted. The reply is always OK.
The classic use is a capped list: LPUSH a new item and then LTRIM key 0 99 to keep the hundred most recent ones, which bounds memory without any separate cleanup job.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
<key> | Yes | No | Redis key targeted by the command. |
<start> | Yes | No | Start index; negative values count from the end. |
<stop> | Yes | No | Stop index, inclusive; negative values count from the end. |
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.