LREM

从列表中删除元素。如果最后一个元素被删除,则删除列表。

语法

LREM key count element

引入版本:1.0.0

复杂度摘要:O(N+M)

从存储在 key 的列表中删除第一个 count 出现的等于 element 的元素。 count 参数通过以下方式影响操作:

  • count > 0:从头到尾删除等于element的元素。
  • count < 0:从尾部到头部删除等于 element 的元素。
  • count = 0:删除所有等于element的元素。

例如,LREM list -2 "hello" 将删除存储在 key 的列表中最后两次出现的 "hello"。

请注意,不存在的键将被视为空列表,因此当 key 不存在时,该命令将始终返回 0。

必需参数

key

保存列表的键的名称。

count

移除的匹配元素数量及方向:正值从头部移除,负值从尾部移除,0 移除所有匹配。

element

要删除的值。

示例

redis> RPUSH mylist "hello"
(integer) 1
redis> RPUSH mylist "hello"
(integer) 2
redis> RPUSH mylist "foo"
(integer) 3
redis> RPUSH mylist "hello"
(integer) 4
redis> LREM mylist -2 "hello"
(integer) 2
redis> LRANGE mylist 0 -1
1) "hello"
2) "foo"

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动

返回值

RESP2

整数回复:移除的元素数量。

RESP3

整数回复:移除的元素数量。

资料来源:Redis 官方 LREM 文档;中文内容参考 Redis 文档许可。