Redis (7) - Set of redis data structure

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

Posted by Coruba67 on Sat, 04 Apr 2020 20:16:51 -0700