redis学习 --Set

一、概述

     在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O(1),即常量时间内完成次操作。Set可包含的最大元素数量是4294967295。
     和List类型不同的是,Set集合中不允许出现重复的元素,这一点和C++标准库中的set容器是完全相同的。换句话说,如果多次添加相同元素,Set中将仅保留该元素的一份拷贝。和List类型相比,Set类型在功能上还存在着一个非常重要的特性,即在服务器端完成多个Sets之间的聚合计算操作,如unions、intersections和differences。由于这些操作均在服务端完成,因此效率极高,而且也节省了大量的网络IO开销。

和List的区别

List Set
有序,可以重复 无序,不可以重复

二:

1:添加

SADD key member

2:获得所有的元素

SADD key member

3:获得集合中元素的个数

SCARD key

4:判断元素是否在集合中

SISMEMBER key member  如果在就返回1,不在就返回0.

5:随机的返回某个成员

SPOP key

6:删除元素

SREM key member

7:将元素从一个集合转移到另外一个集合

SMOVE source destination member

8:集合间差集运算

SDIFF key [key ...]

9:集合间差集运算,并将结果保存

SDIFFSTORE destination key [key ...]

10:交集

SINTER key [key ...]

11:保存交集

SINTERSTORE destination key [key ...]

12:并集

SUNION key [key ...]

13:保存并集

SUNIONSTORE destination key [key ...]

原文地址:https://www.cnblogs.com/bulrush/p/9324548.html