使用场景:
集合,和数学中的集合概念相似。操作中的key理解为集合的名字。 在Redis中,set就是Redis String的无序集合,不允许有重复元素。 Set的最大元素数是2^32-1。 Redis中对set的操作还有交集、并集、差集等
Set对外提供的功能与list类似,当需要存储一个列表数据,又不希望出现重复数据时,可选用set ;
操作命令:
1:sadd\smember
1.1:语法 sadd key member1 member2... smember key 1 2
1.2:说明 sadd向名称为key的set中添加元素member,smember:返回集合中的所有元素
1)key存在,添加成功,smember返回key集合中所有元素
2)key不存在,生成key-value,添加成功
2:srem
2.1:语法 srem key member 1
2.2:说明 删除set中的成员member
1)key存在返回删除的元素个数
2)key不存在,返回空
3:spop
3.1:语法 spop key
3.2:说明 随机返回并删除名称为key的set中一个元素
1)key存在,返回删除的元素
2)key不存在,返回nil
4:smove
4.1:语法 smove srckey dstkey element 1
4.2:说明 移除srckey中的元素element到dstkey中
1)srckey存在,元素element存在,移除成功
2)srckey不存在,返回nil
5:scard
5.1:语法 scard key
5.2:说明 返回集合key的基数
1)key存在,返回基数
2)key不存在,返回0
6:sismember
6.1:语法 sismember key member
6.2:说明 判断member是否key的元素
1)key存在,返回1代表是key的元素,返回0代表不是可以的元素
2)key不存在,返回0
7:sinter
7.1:语法 sinter key1 key2 ...keyN
7.2:说明 求集合key1,key2...keyN的交集
1)key存在(至少存在一个),求交集
2)key全不存在,返回nil
8:sinterstore
8.1:语法 sinterstore dstkey key1 key2...keyN
8.2:说明 求key1 key2...keyN的交集,并将结果存在dstkey中
9:sunion/sunionstore
9.1:语法 sunion key1 key2 ...keyN sunionstore dstkey key1 key2 ...keyN
9.2:说明 sunionq:求key1 ...keyN的并集,返回元素,sunionstore,将求到的交集存在dstkey中,并返回元素个数
10:sdiff/sdiffstore
10.1:语法 sdiff key1 key2 ... keyN sdiff dstkey key1 key2 ... keyN
10.2:说明 sdiff:求key1...keyN的差集,并返回元素,sdiffstore:将求得的结果,存储在dstkey中,返回元素个数
11:srandmember
11.1:语法 srandmember key
11.2:说明 随机返回一个名称为key的一个元素
1)key存在,返回随机返回的元素
2)key不存在,返回nil