Set集合类型:
所谓的集合好比一个乾坤袋,什么东西都可以放进去,但是每个集合中的各个元素不能重复。
- redis的set是string类型的无序集合
- set元素最大可以包含(2的32次方-1)个元素
- 关于set集合类型除了基本的添加删除操作,其他有用的操作还包含集合的取并集(union),交集(intersection),差集(difference)。
通过这些操作可以很容易的实现好友推荐功能: 下图所示:
我们用集合把两个人的朋友圈表示出来:
Set集合类型操作:
首先我们还是先看一下set类型的操作:
sadd key member: 设置名为tomFri的key,其类型为set,内部有5个元素
设置名为linkenFri的key,其类型为set,内部有5个元素:
已经设置好两个集合了。
sinter key1 key2 … keyN: 查看key的交集
sunion key1 key2 … keyN: 查看key的并集
sdiff key1 key2 … keyN: 取集合的差集,并不是两个集合中不同的。 而是取在前面集合中后面集合没有的元素 如下图: 只有tom没有link的
只有link没有tom的
取差集的时候,两个集合的顺序是有区别的!
smembers key: 返回对应集合中的所有元素,结果是无序的。
sismember key member: 判断这个元素是不是集合中的元素 存在则返回1,否则返回0.
scard key: 返回集合的元素个数。
smove p1 p2 member: 把集合1的元素移动到集合2中、
srem key member: 从集合中删除指定的元素出去
这就是set集合类型的基本操作使用。