lrem.3valkey - Man Page
Removes elements from a list. Deletes the list if the last element was removed.
Synopsis
LREM
key count element
Description
Removes the first count
occurrences of elements equal to element
from the list stored at key
. The count
argument influences the operation in the following ways:
count > 0
: Remove elements equal toelement
moving from head to tail.count < 0
: Remove elements equal toelement
moving from tail to head.count = 0
: Remove all elements equal toelement
.
For example, LREM list -2 "hello"
will remove the last two occurrences of "hello"
in the list stored at list
.
Note that non-existing keys are treated like empty lists, so when key
does not exist, the command will always return 0
.
Reply
valkey-protocol(7) Integer reply: the number of removed elements.
Complexity
O(N+M) where N is the length of the list and M is the number of elements removed.
Acl Categories
@list @slow @write
History
- Available since: 1.0.0
Examples
127.0.0.1:6379> RPUSH mylist "hello" (integer) 1 127.0.0.1:6379> RPUSH mylist "hello" (integer) 2 127.0.0.1:6379> RPUSH mylist "foo" (integer) 3 127.0.0.1:6379> RPUSH mylist "hello" (integer) 4 127.0.0.1:6379> LREM mylist -2 "hello" (integer) 2 127.0.0.1:6379> LRANGE mylist 0 -1 1) "hello" 2) "foo"
See Also
blmove(3valkey), blmpop(3valkey), blpop(3valkey), brpop(3valkey), lindex(3valkey), linsert(3valkey), llen(3valkey), lmove(3valkey), lmpop(3valkey), lpop(3valkey), lpos(3valkey), lpush(3valkey), lpushx(3valkey), lrange(3valkey), lset(3valkey), ltrim(3valkey), rpop(3valkey), rpush(3valkey), rpushx(3valkey)