set集合(无序)操作命令

set是一个无序的不重复元素的集合


sadd

往集合内部添加元素

127.0.0.1:6379> sadd set1 a b c d
(integer) 4
127.0.0.1:6379> smembers set1
1) "d"
2) "a"
3) "b"
4) "c"
127.0.0.1:6379>

如果指定的key不存在会创建


srem

移除元素

127.0.0.1:6379> srem set1 c 
(integer) 1
127.0.0.1:6379> smembers set1
1) "d"
2) "a"
3) "b"
127.0.0.1:6379>

如果要移除的元素不存在,则返回0
可以同时移出多个

spop

随机弹出一个元素

127.0.0.1:6379> spop set1
"d"
127.0.0.1:6379> smembers set1
1) "a"
2) "b"
127.0.0.1:6379>

因为set是无序的,如果要修改某个元素的值,直接将它删除在添加一个新的即可,修改真正的意义是替换,可是
set没有位置的概念(无序),替换就成了毫无意义的事情

scard

scard key
返回set中的元素的个数

如果查询一个不存在的key,返回0

smembers

smembers key
返回集合中所有的元素

交集

sinter

sinter key1 key2 ....
返回key1key2或更多key中的交集(相同元素)

扫描二维码关注公众号,回复: 9574601 查看本文章
127.0.0.1:6379> sadd set1 1 2 3 45 6
(integer) 5
127.0.0.1:6379> sadd set2 8 5 2 96 3
(integer) 5
127.0.0.1:6379> sinter set1 set2
1) "2"
2) "3"

sinterstore

sinterstore newkey key1 key2 ...
key1key2或更多key的交集合并到新的集合newkey

127.0.0.1:6379> sinterstore set3 set1 set2
(integer) 2
127.0.0.1:6379> smembers set3
1) "2"
2) "3"

并集

sunion

sunion key1 key2 ...

将所有的key的元素合并返回,重复的值将只保留一个

127.0.0.1:6379> sunion set1 set2
 1) "45"
 2) "a"
 3) "b"
 4) "2"
 5) "5"
 6) "1"
 7) "3"
 8) "96"
 9) "8"
10) "6"

sunionstore

sunionstore newkey key1 key2....

sinterstore类型,将并集移到newkey

差集

sdiff

sdiff key1 key2 ...
返回所有key的差集

sdiffstore

sdiffstore newkey key1 key2 ...

将所有key的差集移入newkey

猜你喜欢

转载自www.cnblogs.com/liangshu/p/12408715.html