1. SADD
SADD key member[member ...]:将一个或者多个member计入集合key中去,已经存在集合中的member将会被忽略。计入key不存在,则会创建一个包含member元素的集合。当key不是集合时,返回一个错误。
返回值:被添加到集合中的元素的个数。
127.0.0.1:6379> SADD bbs "csdn.com"
(integer) 1
127.0.0.1:6379> SADD bbs "redis.com" "googe.com"
(integer) 2
127.0.0.1:6379> SADD bbs "redis.com" "mongodb.com"
(integer) 1
2. SCARD
SCARD key:返回集合中元素的数量。
返回值:集合中元素的数量,当key不存在时,返回0。
127.0.0.1:6379> SADD tools pc printer phone
(integer) 3
127.0.0.1:6379> SCARD tools
(integer) 3
127.0.0.1:6379>
3. SDIFF
SDIFF key[key ...]:返回一个集合的全部成员,该集合是所有给定集合的差集。
不存在的key被视为空集。
返回值:一个包含差集的成员列表。
127.0.0.1:6379> SADD a 2 3 4 5
(integer) 4
127.0.0.1:6379> SADD b 4 5 6 7 8
(integer) 5
127.0.0.1:6379> SDIFF a b
1) "2"
2) "3"
127.0.0.1:6379> SDIFF a
1) "2"
2) "3"
3) "4"
4) "5"
SDIFFSTORE destination key[key ...] :这个命令与SDIFF命令相似,但是它会把结果保存至destination中。
返回值:结果集合中元素的个数。
127.0.0.1:6379> SDIFFSTORE c a b
(integer) 2
127.0.0.1:6379> SMEMBERS c
1) "2"
2) "3"
5. SINTER
SINTER key[key ... ]:返回一个集合的全部成员,该集合是所有指定集合的交集。
返回值:交集列表。
127.0.0.1:6379> SADD a 1 2 3 4
(integer) 4
127.0.0.1:6379> SADD b 2 4 6 8 10
(integer) 5
127.0.0.1:6379> SINTER a b
1) "2"
2) "4"
127.0.0.1:6379> SINTER a
1) "1"
2) "2"
3) "3"
4) "4"
127.0.0.1:6379> SINTER a c
(empty list or set)
6. SINTERSTORE
SINTERSTORE destination key[key ...] :与SINTER命令相同,只不过将结果存入destination集合中。
返回值:结果集中的成员数量。
127.0.0.1:6379> SINTERSTORE d a b
(integer) 2
127.0.0.1:6379> SMEMBERS d
1) "2"
2) "4"
7. SISMEMBER
SISMEMBER key member:判断member是否是集合key的成员。
返回值:是返回1,否则返回0。
127.0.0.1:6379> SISMEMBER d 2
(integer) 1
8. SMEMBERS
SMEMBERS key:返回集合key中所有的成员。
返回值:集合中的所有元素。
127.0.0.1:6379> SMEMBERS d
1) "2"
2) "4"
127.0.0.1:6379> SMEMBERS empty
(empty list or set)
9. SMOVE
SMOVE source des member:将member元素从集合source移至des。如果source元素不包含member则什么都不做。如果,des中已存在元素member,则只是将member从source中移除。
该操作是原子性的。
返回值:成功移除返回1,否则返回0。
127.0.0.1:6379> SADD songs "a" "b"
(integer) 2
127.0.0.1:6379> SMOVE songs my_songs "a"
(integer) 1
127.0.0.1:6379> SMEMBERS songs
1) "b"
127.0.0.1:6379> SMEMBERS my_songs
1) "a"
10. SPOP
SPOP key:移除并返回集合中的一个随机元素。如果只想获取一个随机元素,但是不想移除 的话可以使用SRANDMEMBER。
返回值:被移除的随机元素。当key不存在或者是空集合时,返回nil。
127.0.0.1:6379> SADD db mysql mongodb redis
(integer) 3
127.0.0.1:6379> spop db
"mongodb"
127.0.0.1:6379> SMEMBERS db
1) "redis"
2) "mysql"
11. SRANDMEMBER
SRANDMEMBER key[count]:如果只有key参数则返回集合中的随机元素。
指定count参数,且count > 0,count小于集合长度,则返回一个包含不重复随机元素的子集合,大于集合长度,则返回整体集合。如果count < 0,返回一个数组,数组内的集合可能重复。
127.0.0.1:6379> SADD fruit apple banana cherry
(integer) 3
127.0.0.1:6379> SRANDMEMBER fruit
"cherry"
127.0.0.1:6379> SRANDMEMBER fruit 3
1) "apple"
2) "cherry"
3) "banana"
127.0.0.1:6379> SRANDMEMBER fruit -4
1) "banana"
2) "cherry"
3) "banana"
4) "apple"
12. SREM
SREM key member[member .. ]:移除集合中的一个或者多个元素,不存在的元素会被自动忽略。
返回值:被成功移除的元素的个数。
127.0.0.1:6379> SADD languages c lisp java python ruby
(integer) 5
127.0.0.1:6379> SREM languages ruby
(integer) 1
127.0.0.1:6379> SREM languages none
(integer) 0
127.0.0.1:6379> SREM languages lisp java
(integer) 2
13. SUNION
SUNION key [key ...]:返回一个集合的全部成员,该集合是所有给定集合的并集。
返回值:并集列表。
127.0.0.1:6379> SADD songs jan
(integer) 1
127.0.0.1:6379> SADD mysong tt
(integer) 1
127.0.0.1:6379> SUNION songs mysong
1) "jan"
2) "tt"
3) "b"
SUNIONSTORE destination key[key .. ]:与SUNION命令 相同,不同是此命令回存储并集到destination集合中。
返回值:集合中元素数量。
127.0.0.1:6379> SUNIONSTORE all songs mysong
(integer) 3
15. SSCAN
与SCAN命令相同。