How to remove element from list in Redis by value?
Asked Answered
G

2

17

How to remove element from list in Redis by value?

For exmaple, I have:

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

I know only value 36, not index. Can I remove element from list by value?

Guaranty answered 31/5, 2015 at 21:45 Comment(0)
O
23

http://redis.io/commands/lrem

Lrem is what you are looking for. use LREM POST:544 1 36.

Orfield answered 1/6, 2015 at 8:34 Comment(1)
This only works when numeric values are stored in the list right? Tried it with string types stored in the list, but it did not work. Instead I did change the list into a set and now for example this works SREM myset "four".Ventricose
U
6

If the list contains strings then you may enclose it with double quotes then it works!

eg: sampleList ["one", "two", "three", "four"] If you want to remove "three" then use:

LREM sampleList 1 "three"
Unhelm answered 14/9, 2020 at 8:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.