set是一个无序的不重复元素的集合
往集合内部添加元素
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不存在会创建
移除元素
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
可以同时移出多个
随机弹出一个元素
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 key
返回set中的元素的个数
如果查询一个不存在的
key,返回0
smembers key
返回集合中所有的元素
sinter key1 key2 ....
返回key1和key2或更多key中的交集(相同元素)
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 newkey key1 key2 ...
将key1和key2或更多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 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 newkey key1 key2....
和sinterstore类型,将并集移到newkey中
sdiff key1 key2 ...
返回所有key的差集
sdiffstore newkey key1 key2 ...
将所有key的差集移入newkey
原文:https://www.cnblogs.com/liangshu/p/12408715.html