Redis 服务器中与集合相关的命令。
SADD:向集合中添加元素,若元素存在则忽略本次操作
SADD
返回成功添加到集合的元素个数,集合中已存在的元素不作添加处理。
格式:SADD key member [member ...]
127.0.0.1:6379> SADD odds 1 3 5 7
(integer) 4
127.0.0.1:6379> SADD odds 7 9
(integer) 1
# 此时,只有元素 9 被成功添加
SREM:删除集合中的元素
SREM
返回成功删除的元素个数。
格式:SREM key member [member ...]
127.0.0.1:6379> SREM odds 9 7
(integer) 2
127.0.0.1:6379> SMEMBERS odds
1) "1"
2) "3"
3) "5"
SMEMBERS:获取集合中的所有元素
格式:SMEMBERS key
127.0.0.1:6379> SMEMBERS odds
1) "1"
2) "3"
3) "5"
SCARD:获取集合中元素的个数
格式:SCARD key
127.0.0.1:6379> SCARD odds
(integer) 3
SRANDMEMBER:随机获取集合中指定个数的元素
格式:SRNADMEMBER key [count]
127.0.0.1:6379> SMEMBERS odds
1) "1"
2) "3"
3) "5"
127.0.0.1:6379> SRANDMEMBER odds
"1"
127.0.0.1:6379> SRANDMEMBER odds 2
1) "1"
2) "5"
SPOP:从集合中随机弹出一个或多个元素
格式:SPOP key [count]
127.0.0.1:6379> SPOP odds 1
1) "3"
127.0.0.1:6379> SMEMBERS odds
1) "1"
2) "5"
127.0.0.1:6379> SPOP odds 2
1) "1"
2) "5"
127.0.0.1:6379> SMEMBERS odds
(empty array)
SDIFF:集合运算,取差集
SDIFF
可以对多个集合进行取差集操作。
格式:SDIFF key [key ...]
127.0.0.1:6379> SADD integers 1 2 3 4 5 6 7 8 9 10
(integer) 10
127.0.0.1:6379> SADD odds 1 3 5 7 9
(integer) 5
127.0.0.1:6379> SDIFF integers odds
1) "2"
2) "4"
3) "6"
4) "8"
5) "10"
SINTER:集合运算,取交集
SINTER
可以对多个集合进行取交集操作。
格式:SINTER key [key ...]
127.0.0.1:6379> SINTER integers odds
1) "1"
2) "3"
3) "5"
4) "7"
5) "9"
SUNION:集合运算,取并集
SUNION
可以对多个集合进行取并集操作。
格式:SUNION key [key ...]
127.0.0.1:6379> SADD odds 1 3 5 7 9
(integer) 0
127.0.0.1:6379> SADD evens 2 4 6 8 10
(integer) 5
127.0.0.1:6379> SUNION odds evens
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
7) "7"
8) "8"
9) "9"
10) "10"
SDIFFSTORE:集合运算,存储差集
SDIFFSTORE
可以将多个集合的取差集的运算结果保存到另一个键中,返回值为差集的元素个数。
格式:SDIFFSTORE destination key [key ...]
127.0.0.1:6379> SDIFFSTORE new:odds integers evens
(integer) 5
SINTERSTORE:集合运算,存储交集
SINTERSTORE
可以将多个集合的取交集的运算结果保存到另一个键中,返回值为交集的元素个数。
格式:SINTERSTORE destination key [key ...]
127.0.0.1:6379> SINTERSTORE new:evens integers evens
(integer) 5
SUNIONSTORE:集合运算,存储并集
SUNIONSTORE
可以将多个集合的取并集的运算结果保存到另一个键中,返回值为并集的元素个数。
格式:SUNIONSTORE destination key [key ...]
127.0.0.1:6379> SUNIONSTORE new:integers odds evens
(integer) 10
127.0.0.1:6379> SMEMBERS new:integers
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
7) "7"
8) "8"
9) "9"
10) "10"
评论