Redis的Set是string类型的无序集合,不允许有重复元素,一个集合中最多2的32次方减1个元素。
命令:sadd key member [member…],向集合中添加元素,已存在的元素不会再添加
127.0.0.1:6379> sadd set1 a
(integer) 1
127.0.0.1:6379> sadd set1 a b c
(integer) 2
命令:smembers key ,查看集合中所有元素
127.0.0.1:6379> smembers set1
1) "c"
2) "b"
3) "a"
命令:srem key member [member…],删除集合中指定元素
127.0.0.1:6379> srem set1 a
(integer) 1
127.0.0.1:6379> smembers set1
1) "c"
2) "b"
127.0.0.1:6379> srem set1 b c
(integer) 2
127.0.0.1:6379> smembers set1
(empty list or set)
命令:scard key,返回集合中元素个数
127.0.0.1:6379> sadd set1 a b c d e f g
(integer) 7
127.0.0.1:6379> smembers set1
1) "b"
2) "a"
3) "f"
4) "d"
5) "g"
6) "c"
7) "e"
命令:spop key [count] ,从set中取出元素,并且元素会从set中删除,由于set内元素是无序的,所以删除元素是随机的;
127.0.0.1:6379> spop set1 1
1) "b"
127.0.0.1:6379> smembers set1
1) "f"
2) "d"
3) "g"
4) "c"
5) "e"
6) "a"
127.0.0.1:6379> spop set1 2
1) "g"
2) "c"
127.0.0.1:6379> smembers set1
1) "f"
2) "d"
3) "e"
4) "a"
命令:srandmember key [count] ,从set中取出元素,不会删除元素;
127.0.0.1:6379> srandmember set1 2
1) "e"
2) "d"
127.0.0.1:6379> srandmember set1 2
1) "f"
2) "d"
127.0.0.1:6379> smembers set1
1) "f"
2) "d"
3) "e"
4) "a"
命令:smove source destination member,如果source集合不存在或不包含指定的元素,则命令返回0,否则,元素从source集合中删除并添加到destination集合中;当 destination 集合已经包含 member 元素时, smove命令只是将 source 集合中的元素删除;当 source 或 destination 不是集合类型时,返回一个错误。
127.0.0.1:6379> smove set1 set2 f
(integer) 1
127.0.0.1:6379> smembers set1
1) "d"
2) "e"
3) "a"
127.0.0.1:6379> smembers set2
1) "f"
命令:sismember key member,查看元素是否存在
127.0.0.1:6379> sismember set1 a
(integer) 1
127.0.0.1:6379> sismember set2 a
(integer) 0
127.0.0.1:6379> sismember set2 f
(integer) 1
命令:sdiff key [key…],求差集运算
127.0.0.1:6379> sadd set1 a b c d e f
(integer) 3
127.0.0.1:6379> smembers set1
1) "f"
2) "d"
3) "b"
4) "c"
5) "e"
6) "a"
127.0.0.1:6379> sadd set2 g m n a
(integer) 4
127.0.0.1:6379> smembers set2
1) "g"
2) "f"
3) "m"
4) "n"
5) "a"
127.0.0.1:6379> sdiff set1 set2
1) "d"
2) "c"
3) "e"
4) "b"
命令:sinter key [key…],求交集运算
127.0.0.1:6379> sinter set1 set2
1) "f"
2) "a"
命令:sunion key [key…],求和运算
127.0.0.1:6379> sunion set1 set2
1) "m"
2) "b"
3) "g"
4) "c"
5) "e"
6) "a"
7) "d"
8) "f"
9) "n"
如果有写的不对的地方,请大家多多批评指正,非常感谢!