Storage Set
Unlike List types, duplicate elements are not allowed in Set sets
The maximum number of elements a Set can contain is 4294967295
Common commands for storage set:
Add / remove elements
Get elements in collection
Difference operation in set
Intersection operation in set
Union element calculation in set
Extension command
Case demonstration:
(1) Add set element
Add three elements
127.0.0.1:6379> sadd set1 a b c
(integer) 3
(2) smembers view the specified key collection elements
127.0.0.1:6379> smembers set1
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> sadd set1 a d e
(integer) 2
127.0.0.1:6379> smembers set1
1) "c"
2) "d"
3) "b"
4) "a"
5) "e"
Continue to add elements, duplicate elements will not be added
(3) srem delete element
Delete two elements
127.0.0.1:6379> srem set1 a d
(integer) 2
127.0.0.1:6379> smembers set1
1) "b"
2) "c"
3) "e"
(4) sismember determines whether an element exists. Return 1 means there is an element. Return 0 means there is no element
127.0.0.1:6379> sismember set1 a
(integer) 0
127.0.0.1:6379> sismember set1 b
(integer) 1
(5) sdiff calculation difference set
We find that the order of sets is different, and the results are different according to the former
127.0.0.1:6379> sadd set2 a b c
(integer) 3
127.0.0.1:6379> sadd set3 b c d e
(integer) 4
127.0.0.1:6379> sdiff set2 set3
1) "a"
127.0.0.1:6379> sdiff set3 set2
1) "d"
2) "e"
(6) Single calculation intersection
127.0.0.1:6379> sinter set2 set3
1) "c"
2) "b"
(7) Union of sunion computation
127.0.0.1:6379> sunion set2 set3
1) "e"
2) "a"
3) "b"
4) "c"
5) "d"
(8) Total number of scar calculation elements
127.0.0.1:6379> smembers set1
1) "b"
2) "c"
3) "e"
127.0.0.1:6379> scard set1
(integer) 3
(9) srandmember randomly takes an element
127.0.0.1:6379> srandmember set1
"c"
127.0.0.1:6379> srandmember set1
"e"
(10) sdiffstore stores the result of difference set in the new set
127.0.0.1:6379> smembers set2
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> smembers set3
1) "c"
2) "e"
3) "d"
4) "b"
127.0.0.1:6379> sdiffstore r1 set2 set3
(integer) 1
127.0.0.1:6379> smembers r1
1) "a"
(11) Singerstore stores intersection results in a new set
127.0.0.1:6379> sinterstore r2 set2 set3
(integer) 2
127.0.0.1:6379> smembers r2
1) "c"
2) "b"
(12) sunionstore stores union results in a new collection
127.0.0.1:6379> sunionstore r3 set2 set3
(integer) 5
127.0.0.1:6379> smembers r3
1) "e"
2) "a"
3) "b"
4) "c"
5) "d"
Storage Set usage scenario
Track some unique data
Used to maintain association between data objects