集合类型的键可以存储2^32-1个字符串
集合类型和列表类型对比
集合类型 | 列表类型 | |
存储内容 | 至多2^32-1个字符串 | 至多2^32-1个字符串 |
有序性 | 否 | 是 |
唯一性 | 是 | 否 |
1、增加/删除元素
SADD key member[member...]
SREM key member[member...]
SADD 命令用来向集合中增加一个或者多个元素,如果键不存在则会自动创建。因为集合中元素的唯一性,如果加入的元素在集合中存在,则会忽略这个元素。命令返回成功加入的元素数量(忽略的元素不计算在内)
SREM 删除元素,不存在的元素会被忽略,命令返回删除成功元素个数
2、获得集合中的所有元素
SMEMBERS key
3、判断元素是否在集合中
SISMEMBER key member 时间复杂度O(1)存在返回1,不存在返回0
4、集合间运算
SDIFF key[key...] 多个集合差集运算
SINTER key[key...]多个集合交集运算
SUNION key[key...] 多个集合并集运算
SDIFF 多个集合差集运算 如SDIFF A B 即A-B 即A中存在B中不存在的元素
SDIFF A B C 则用A-B的结果再去-C
5、获得几个中元素个数
SCARD key
6、进行集合运算并将结果存储
SDIFFSTORE destination key[key ...]
SINTERSTORE destination key[key ...]
SUNIONSTORE destination key[key ...]
7、随机获得集合中元素
SRANDMEMBER key[count]
count 代表依次随机获得元素个数
count>0 获得count个不重复元素,如果count比集合元素个数大,则会返回集合中全部元素
count<0 获得|count|个元素,这些元素可能相同
8、从集合中弹出一个元素
SPOP key
因为集合是无序的,会从集合中随机选择一个元素弹出