Working with Sets
1. Adding Set Members
| Command | Returns |
|---|---|
SADD key m [m ...] | Count of newly added members |
2. Removing Set Members
| Command | Returns |
|---|---|
SREM key m [m ...] | Count of removed members |
3. Checking Member Existence
| Command | Returns |
|---|---|
SISMEMBER key m | 1 or 0 |
SMISMEMBER key m1 m2 ... | Array of 0/1 6.2+ |
4. Getting All Members
| Command | Notes |
|---|---|
SMEMBERS key | Full set; O(N) — avoid on large sets |
5. Getting Set Cardinality
| Command | Returns |
|---|---|
SCARD key | Member count; 0 if missing |
6. Getting Random Members
| Command | Behavior |
|---|---|
SRANDMEMBER key | One random member |
SRANDMEMBER key count | +count: unique; -count: with repetition |
7. Popping Random Members
| Command | Description |
|---|---|
SPOP key [count] | Remove and return random member(s) |
8. Moving Members Between Sets
| Command | Description |
|---|---|
SMOVE src dst member | Atomic move; returns 1 on success |
9. Computing Set Union
| Command | Description |
|---|---|
SUNION k1 k2 ... | Union of all sets |
SUNIONSTORE dst k1 k2 ... | Store result in dst |
10. Computing Set Intersection
| Command | Description |
|---|---|
SINTER k1 k2 ... | Common members |
SINTERSTORE dst k1 k2 ... | Store result |
SINTERCARD numkeys k1 k2 ... [LIMIT n] | Cardinality only, with early stop 7.0+ |
11. Computing Set Difference
| Command | Description |
|---|---|
SDIFF k1 k2 ... | Members in k1 not in others |
SDIFFSTORE dst k1 k2 ... | Store result |
12. Scanning Set Members
| Command | Options |
|---|---|
SSCAN key cursor [MATCH p] [COUNT n] | Incremental, cursor-based |