相关文章redis
Redis 的命令详解 - Key 篇
Redis 的命令详解 - String 篇
Redis 的命令详解 - Hash 篇
Redis 的命令详解 - List 篇bash
未完待续!!!post
跟 SET 相关的命令一共有 15 种,这里只介绍经常使用的,其余请参考官网spa
起始版本 : 1.0.0
时间复杂度 : O(N),N为要添加的成员的个数code
若是key不存在,则在添加前先建立一个set,若是指定成员在set中已存在,该成员将被忽略。get
SADD key member1 [member2 ...]
io
已添加到集合中的成员数量,不包括已经存在的成员,若是key对应的value不是 set 类型,返回错误。class
redis 版本 >= 2.4 时,该命令能够接受多个member参数List
起始版本 : 1.0.0
时间复杂度 : O(N),N为要删除的成员的个数语法
若是指定成员在set中不存在,则忽略。
SREM key member1 [member2 ...]
删除成员的数量。若是key不存在,则视为空集,返回 0。
起始版本 : 1.0.0
时间复杂度 : O(1)
SCARD key
set 中的成员的数量,key 不存在时,返回0
起始版本 : 1.0.0
时间复杂度 : O(1)
SISMEMBER key member
起始版本 : 1.0.0
时间复杂度 : O(N),其中N是集合中成员的数量
SMEMBERS key
集合中的全部成员
起始版本 : 1.0.0
时间复杂度 : O(1)
将成员从源set移动到目标set,此操做是原子性的。
若是目标set已存在指定的元素,则仅将指定元素从源set中删除。
SMOVE 源key 目标key member
起始版本 : 1.0.0
时间复杂度 : O(N),其中N是全部给定集合中元素的总数。
求第一个集合与后面全部集合之间的差集。
例如
key1 = {a,b,c,d}
key2 = {c}
key3 = {a,c,e}
复制代码
则,SDIFF key1 key2 key3 = {b,d}
,简单理解就是只保留第一个集合中,其余集合没有的成员
若是 key 不存在,则认为是空集。
SDIFF key [otherKey ...]
结果集的全部成员
起始版本 : 1.0.0
时间复杂度 : O(N),其中N是全部给定集合中元素的总数。
求第一个集合与后面全部集合之间的差集,并将它保存到目标集合中。若是目标集合已经存在,则将其覆盖。
SDIFFSTORE 目标key key [otherKey ...]
结果集中成员的数量
起始版本 : 1.0.0
时间复杂度 : 最坏的状况 O(N * M),其中N是最小集合的成员个数,M是集合的个数。
求全部给定集合的交集
例如,有
key1 = {a,b,c,d}
key2 = {c}
key3 = {a,c,e}
复制代码
则SINTER key1 key2 key3 = {c}
,即全部集合中都有的成员
不存在的 key 被认为是空集。若是其中一个 key 为空集,则结果集也为空集(由于与空集的交集都是空集)
SINTER key [otherKey ...]
当只设置一个key时,返回该key的全部成员,此时至关于
SMEMBERS key
命令
结果集的全部成员。
起始版本 : 1.0.0
时间复杂度 : 最坏的状况 O(N * M),其中N是最小集合的成员个数,M是集合的个数。
求全部给定集合的交集,并将它保存到目标集合中。若是目标集合已经存在,则将其覆盖。
不存在的 key 被认为是空集。若是其中一个 key 为空集,则结果集也为空集
SINTERSTORE 目标key key [otherKey ...]
结果集中成员的数量
起始版本 : 1.0.0
时间复杂度 : O(N),其中N是全部给定集合中元素的总数
求全部给定集合的并集,不存在的key被认为是空集。
SUNION key [otherKey ...]
结果集中的全部成员
起始版本 : 1.0.0
时间复杂度 : O(N),其中N是全部给定集合中元素的总数
将全部给定集合的并集存储到目标集合中,不存在的key被认为是空集,若是目标集合已存在,则覆盖。
SUNIONSTORE 目标key key [otherKey ...]
结果集中成员的数量
起始版本 : 1.0.0
时间复杂度 : O(1)
随机删除并返回指定个数的成员
SPOP key [count]
redis 3.2 及以上版本才能够指定 count 参数
随机删除成员
起始版本 : 1.0.0
时间复杂度 : O(N),其中N为要返回成员的个数
redis 2.6 及以上版本才能够指定 count 参数
不指定 count 时,随机返回一个成员
指定 count 时
SRANDMEMBER key [count]
返回的成员