如何在Redis中通过值删除列表中的元素?

16

如何在Redis中按值从列表中删除元素?

例如,我有以下列表:

127.0.0.1:6379> lrange POST:544 0 -1
1) "1"
2) "2"
3) "36"
127.0.0.1:6379> 

我只知道值为 36,不知道索引。我能通过值从列表中删除元素吗?

2个回答

20

LREM是您要查找的内容。使用LREM POST:544 1 36。


1
这只适用于列表中存储数字值的情况,对于存储在列表中的字符串类型尝试过,但没有成功。相反,我将列表更改为集合,现在例如 SREM myset "four" 就可以工作了。 - Baran Emre

6

如果列表中包含字符串,则可以用双引号将其括起来,就可以正常处理了!

例如:sampleList ["one", "two", "three", "four"] 如果您想要移除 "three",则可以使用:

LREM sampleList 1 "three"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接