集合
Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
特点
无序,无法通过索引下表取出集合中的元素
无重复
集合间的操作
api
api | 含义 |
---|---|
sadd key element | 向集合key添加element,如果element已经存在,添加失败 |
srem key element | 将集合中的element移除掉 |
scard key | 获取集合的成员数 |
sismember key element | 判断 element 元素是否是集合 key 的成员 |
srandmember key count | 返回集合key中一个或多个随机元素 |
smembers key | 返回集合key中的所有成员,注意,返回的是无序的,小心使用,因为元素可能过多 |
spop key | 移除并返回集合key中的一个随机元素 |
实战
集合间api
api | 含义 |
---|---|
sdiff key1 key2 | 差集 |
sinter key1 key2 | 交集 |
sunion key1 key2 | 并集 |
sdiff | sinter | sunion +store destkey key1 key2 | 将key1、key2的差集、交集、并集保存在destkey中 |