Using Redis Sets
By Flavio Copes
Learn how to use Redis sets, which are unordered and hold each item once, with SADD, SMEMBERS, SISMEMBER, SCARD and SINTER to intersect two sets.
Sets have 2 main differences with lists:
- sets are not ordered
- sets only hold an item once
Create a set using
SADD <setkey> <value>
The same command is used to add more items to the set.
Example:
SADD names "Flavio"
SADD names "Roger"
SADD names "Tony" "Mark" "Jane"
Get all the items in a set using SMEMBERS <setkey>:

Find out if a value is in a set with SISMEMBER:
SISMEMBER names "Flavio"

To know how many items are in a set, use SCARD:
SCARD names
Get (without removing) an item from the set, randomly:
SRANDMEMBER names
Extract (and remove) an item from the set, casually ordered:
SPOP names
You can extract multiple items at once:
SPOP names 2
Remove an item from a set by value:
SREM names "Flavio"

Get the items contained in 2 different sets, exclusing elements only included in one with SINTER:
SINTER set1 set2
See all the sets commands here.
Related posts about redis: