一、概述
在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