如何按值从 Redis 列表中删除元素?
Posted
技术标签:
【中文标题】如何按值从 Redis 列表中删除元素?【英文标题】:How to remove element from list in Redis by value? 【发布时间】:2015-08-14 07:05:22 【问题描述】:例如,我有:
127.0.0.1:6379> lrange POST:544 0 -1
1) "1"
2) "2"
3) "36"
127.0.0.1:6379>
我只知道值36
,而不知道索引。我可以按值从列表中删除元素吗?
【问题讨论】:
【参考方案1】:http://redis.io/commands/lrem
Lrem 就是您要找的。使用 LREM POST:544 1 36。
【讨论】:
这仅在数值存储在列表中时才有效,对吗?尝试使用存储在列表中的字符串类型,但它不起作用。相反,我确实将列表更改为一组,例如现在可以使用SREM myset "four"
。【参考方案2】:
如果列表包含字符串,那么您可以用双引号将其括起来,这样就可以了!
例如:sampleList [“一”、“二”、“三”、“四”] 如果要删除“三个”,请使用:
LREM sampleList 1 "three"
【讨论】:
以上是关于如何按值从 Redis 列表中删除元素?的主要内容,如果未能解决你的问题,请参考以下文章