Empty/delete a set in Redis?

Abe Voelker picture Abe Voelker · Jun 10, 2011 · Viewed 37.2k times · Source

Maybe I'm just blind, but I don't see an explicit set command in Redis for emptying an existing set (without emptying the entire database). For the time being, I'm doing a set difference on the set with itself and storing it back into itself:

redis> SMEMBERS metasyn
1) "foo"
2) "bar"
redis> SDIFFSTORE metasyn metasyn metasyn
(integer) 0
redis> SMEMBERS metasyn
(empty list or set)

But that looks a little silly... is there a better way to do this?

Answer

Anurag picture Anurag · Jun 10, 2011

You could delete the set altogether with DEL.

DEL metasyn

From redis console,

redis> SMEMBERS metasyn
1) "foo"
2) "bar"
redis> DEL metasyn
(integer) 1
redis> SMEMBERS metasyn
(empty list or set)