Removes elements from a list. Deletes the list if the last element was removed.
LREM key count element
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 to element moving from head to tail.count < 0: Remove elements equal to element moving from tail to head.count = 0: Remove all elements equal to element.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.
Integer reply: the number of removed elements.
O(N+M) where N is the length of the list and M is the number of elements removed.
@list @slow @write
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"
BLMOVE, BLMPOP, BLPOP, BRPOP, LINDEX, LINSERT, LLEN, LMOVE, LMPOP, LPOP, LPOS, LPUSH, LPUSHX, LRANGE, LSET, LTRIM, RPOP, RPUSH, RPUSHX.