在集合中的每个元素都是不同的,且没有顺序。
集合类型和列表类型的区别:
| 集合类型 | 列表类型 |
存储内容 | 至多232-1个字符串 | 至多232-1个字符串 |
有序性 | 否 | 是 |
唯一性 | 是 | 否 |
集合类型在Redis内部是使用值为空的散列表实现的。多个集合类型键之间还可以进行并集、交集和差集运算。
命令:
1、增加删除集合元素
SADD key member [member ...]
SREM key member [member ...]
2、获得集合中的所有元素
SMEMBERS key
3、判断元素是否在集合中
SISMEMBER key member
4、集合间运算
SDIFF key [key ...] 差集运算 A-B={x|x属于A且x不属于B}
SINTER key [key ...] 交集运算
SUNION key [key ...] 并集运算
5、获得集合中元素个数
SCARD key
6、进行集合运算并将结果存储
SDIFFSTORE destination key [key ...]
SINTERSTORE destination key [key ...]
SUNIONSTORE destination key [key ...]
7、随机获得集合中的元素
SRANDMEMBER key [count]
当count>0,随机从集合里获得count个不重复的元素
当count<0,随机从集合里获得|count|个元素,元素有可能相同
8、从集合中弹出一个元素
SPOP key 由于集合是无序的,所以SPOP命令会从集合中随机选择一个元素弹出