Set类型是一个没有排序的集合,可以在该类型那个执行添加、删除或判断某一元素是否存在等操作。由于Redis的内部是使用值为空的hash table实现的,所以操作的时间复杂度为O(1), 最多存储2^32-1个字符串。
Set集合中不允许出现重复的元素,和List类型相比,Set类型在功能上另一个优势是可以进行并集,交集,差集运算。
sadd
1
2
3
4
|
129.223.248.154:6379> sadd students tim (integer) 1 129.223.248.154:6379> sadd students tim ben (integer) 1 |
srem
1
2
3
4
|
129.223.248.154:6379> srem student tim (integer) 0 129.223.248.154:6379> srem students tim (integer) 1 |
smembers、sismember
1
2
3
4
5
6
|
129.223.248.154:6379> smembers students 1) "ben"
129.223.248.154:6379> sismember students ben (integer) 1 129.223.248.154:6379> sismember students tim (integer) 0 |
sdiff 差集
1
2
3
4
5
6
7
8
|
129.223.248.154:6379> sadd setDiffA 1 2 3 (integer) 3 129.223.248.154:6379> sadd setDiffB 2 3 4 (integer) 3 129.223.248.154:6379> sdiff setDiffA setDiffB 1) "1"
|
sinter 交集
1
2
3
4
5
6
7
8
9
|
129.223.248.154:6379> sadd setInterA 1 2 3 (integer) 3 129.223.248.154:6379> sadd setInterB 2 3 4 (integer) 3 129.223.248.154:6379> sinter setInterA setInterB 1) "2"
2) "3"
|
sunion 并集
1
2
3
4
5
6
7
8
9
10
11
12
|
129.223.248.154:6379> sadd setUnionA 1 2 3 (integer) 3 129.223.248.154:6379> sadd setUnionB 2 4 6 (integer) 3 129.223.248.154:6379> sunion setUnionA setUnionB 1) "1"
2) "2"
3) "3"
4) "4"
5) "6"
|
scard 集合总数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
129.223.248.154:6379> scard students (integer) 1 129.223.248.154:6379> smembers students 1) "ben"
129.223.248.154:6379> srandmember students "ben" 129.223.248.154:6379> sadd students mike (integer) 1 129.223.248.154:6379> srandmember students "ben" 129.223.248.154:6379> srandmember students "mike" 129.223.248.154:6379> srandmember students "mike" 129.223.248.154:6379> sadd memebrs a b c (integer) 3 129.223.248.154:6379> srandmember students 2 1) "ben"
2) "mike"
|
srandmember
1
2
3
4
5
6
7
|
129.223.248.154:6379> sadd letters a b c (integer) 3 129.223.248.154:6379> srandmember letters 2 1) "b"
2) "c"
|
spop
1
2
3
4
5
6
|
129.223.248.154:6379> spop letters "b" 129.223.248.154:6379> smembers letters 1) "a"
2) "c"
129.223.248.154:6379>
|
本文转自 yuanzhitang 51CTO博客,原文链接:http://blog.51cto.com/yuanzhitang/1789613,如需转载请自行联系原作者