Redis - Sets

Redis Sets are an unordered collection of unique strings. Unique means sets does not allow repetition of data in a key.

In Redis set add, remove, and test for the existence of members in O(1) (constant time regardless of the number of elements contained inside the Set). The maximum length of a list is 232 - 1 elements (4294967295, more than 4 billion of elements per set).


redis> SADD tutorials redis 
(integer) 1 
redis> SADD tutorials mongodb 
(integer) 1 
redis> SADD tutorials mysql 
(integer) 1 
redis> SADD tutorials mysql 
(integer) 0 
redis> SMEMBERS tutorials  
1) "mysql" 
2) "mongodb" 
3) "redis"

In the above example, three values are inserted in Redis set named ‘tutorials’ by the command SADD.

Redis Sets Commands

Following table lists some basic commands related to sets.

Sr.No Command & Description
1 SADD key member1 [member2]

Adds one or more members to a set

2 SCARD key

Gets the number of members in a set

3 SDIFF key1 [key2]

Subtracts multiple sets

4 SDIFFSTORE destination key1 [key2]

Subtracts multiple sets and stores the resulting set in a key

5 SINTER key1 [key2]

Intersects multiple sets

6 SINTERSTORE destination key1 [key2]

Intersects multiple sets and stores the resulting set in a key

7 SISMEMBER key member

Determines if a given value is a member of a set


Gets all the members in a set

9 SMOVE source destination member

Moves a member from one set to another

10 SPOP key

Removes and returns a random member from a set

11 SRANDMEMBER key [count]

Gets one or multiple random members from a set

12 SREM key member1 [member2]

Removes one or more members from a set

13 SUNION key1 [key2]

Adds multiple sets

14 SUNIONSTORE destination key1 [key2]

Adds multiple sets and stores the resulting set in a key

15 SSCAN key cursor [MATCH pattern] [COUNT count]

Incrementally iterates set elements