Redis 的 Set 是 String 类型的无序集合,集合成员是唯一的。
Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
1、SADD key member [member] 向集合中添加一个或多个元素,已存在的将被忽略;
返回新增成功的元素数量。
2、SCARD key 返回集合中的元素数量,key不存在返回0;
3、SDIFF key1 [key2 ...] 返回集合的差集,以key1为基准;
4、SDIFFSTORE storekey key1 [key2 ...] 返回集合的差集存在参数storekey中;
5、SINTER key [key2 ...] 返回给定集合的交集;
不存在的集合返回空集;
6、SINTERSTORE storekey key1 [key2 ...] 返回集合的交集存在参数storekey中;
7、SISMEMBER key value 判断元素是否属于指定集合,属于返回1;否则返回0
8、SMEMBERS key 返回集合中所有成员,不存在的key视为空集;
9、SMOVE key1 key2 member 将指定成员member从key1中移动到key2中;
如果member不存在key1中,那么不做任何操作,如果存在,从key1中删除member,key2中添加member;
如果member已在key2中存在,只对key1进行删除member的操作;
操作成功返回1;否则返回0;
10、SPOP key 随机删除key中的一个元素并返回该元素;
11、SRANDMEMBER key [count] 返回集合中的一个随机元素;
参数count > 0,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等 于集合基数,那么返回整个集合。
参数count < 0,返回一个数组,元素可能会重复,元素个数等于count的绝对值;
12、SREM key member1 [member2 ...] 删除集合中一个或多个元素;返回删除成功的数量;
13、SUNION key1 key2 返回给定集合的并集;
14、SUNIONSTORE storekey key1 [key2 ...] 将给定集合的并集存储到storekey中