0
0
RedisHow-ToBeginner · 3 min read

How to Use SREM Command in Redis to Remove Set Members

Use the SREM command in Redis to remove one or more specified members from a set stored at a key. It returns the number of members that were removed successfully. If a member does not exist in the set, it is simply ignored.
📐

Syntax

The SREM command syntax is:

  • SREM key member [member ...]

Here, key is the name of the set, and member is one or more elements you want to remove from that set.

The command returns the number of members that were actually removed.

redis
SREM myset member1 member2
💻

Example

This example shows how to create a set, add members, then remove some members using SREM. It demonstrates the return value indicating how many members were removed.

redis
127.0.0.1:6379> SADD myset apple banana cherry
(integer) 3
127.0.0.1:6379> SREM myset banana orange
(integer) 1
127.0.0.1:6379> SMEMBERS myset
1) "apple"
2) "cherry"
Output
(integer) 3 (integer) 1 1) "apple" 2) "cherry"
⚠️

Common Pitfalls

Common mistakes when using SREM include:

  • Trying to remove members from a key that does not exist (returns 0, no error).
  • Passing members that are not in the set (those members are ignored).
  • Using SREM on a key that is not a set (returns an error).

Always check the return value to know how many members were removed.

redis
127.0.0.1:6379> SREM unknownset member
(integer) 0
127.0.0.1:6379> SET notaset "hello"
OK
127.0.0.1:6379> SREM notaset member
(error) WRONGTYPE Operation against a key holding the wrong kind of value
Output
(integer) 0 OK (error) WRONGTYPE Operation against a key holding the wrong kind of value
📊

Quick Reference

CommandDescriptionReturn Value
SREM key memberRemoves specified member(s) from the set stored at keyNumber of members removed
SREM key member1 member2 ...Removes multiple members at onceNumber of members removed
SREM on non-existing keyNo error, returns 00
SREM on wrong type keyReturns errorError

Key Takeaways

Use SREM to remove one or more members from a Redis set by specifying the key and members.
SREM returns the count of members actually removed, ignoring members not present in the set.
Removing members from a non-existing set returns 0 without error.
Using SREM on a key holding a non-set value causes an error.
Always check the return value to confirm which members were removed.