Set Commands
SADD, SREM, SMEMBERS, SINTER, SUNION, SDIFF, SSCAN and set operations.
SADD / SREM
SADD tags:post:1 "rust" "database" "kv"
SREM tags:post:1 "kv"SMEMBERS / SCARD
SMEMBERS tags:post:1
SCARD tags:post:1 # cardinalitySISMEMBER / SMISMEMBER
SISMEMBER tags:post:1 "rust" # 1 or 0
SMISMEMBER tags:post:1 "rust" "go" # [1, 0]SPOP / SRANDMEMBER
SPOP online_users # remove and return one
SPOP online_users 3 # remove and return 3
SRANDMEMBER online_users 5 # return 5, no removal
SRANDMEMBER online_users -5 # 5 with possible repeatsSMOVE
Move member between sets atomically:
SMOVE src dst memberSet Operations
SUNION set1 set2 set3
SINTER set1 set2 set3
SDIFF set1 set2 # members in set1 not in set2
SUNIONSTORE dst set1 set2
SINTERSTORE dst set1 set2
SDIFFSTORE dst set1 set2
SINTERCARD 2 set1 set2 # count only
SINTERCARD 2 set1 set2 LIMIT 10SSCAN
SSCAN key 0
SSCAN key 0 MATCH "prefix:*" COUNT 100Use Cases
# Online users
SADD online "user:1" "user:2"
SCARD online
# Unique visitors per page
SADD visitors:page:home "user:1"
SCARD visitors:page:home
# Tag intersection
SINTER tags:post:1 tags:post:2