简介
set类型是用来保存多个字符串元素,但是不允许有重复,并且集合中的元素是无序的。集合有增删改查的操作,还有求集合间的交集、并集、差集等
常用命令介绍
命令 | 命令描述 |
---|---|
sadd key element [element...] | 添加元素 |
srem key element [element...] | 删除元素 |
scard key | 计算元素个数 |
sismember key element | 判断元素是否在集合中 |
srandmember key [count] | 随机从集合返回指定个数元素 |
spop key [count] | 随机从集合中弹出指定个数元素 |
smembers key | 获取所有元素 |
sinter|suinon|sdiff key [key...] | 求多个集合的交并差集 |
sinterstore destination key [key...] | 将集合的交并差集的结果保存到destination key中 |
内部编码
- intset(整数集合):当元素都是整数且个数小于512个时,Redis会选用intset作为集合的内部实现,从而减少内存的使用
- hashtable(哈希表):
应用场景
- 标签系统 sadd
- 生成随机数,用于抽奖等 spop/srandmember
- 求交集,用于社交方面 sadd+sinter