在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间是常量时间。Set可包含的最大元素数是4294967295。和List类型不同的是,Set集合中不允许出现重复的元素

和List类型相比,Set类型在功能上还存在着一个非常重要的特性,即在服务器端完成多个Sets之间的聚合计算操作,如unions、intersections和differences。由于这些操作均在服务端完成,因此效率极高,而且也节省了大量的网络IO开销.

-----------------------------------------

存储sets类型

redis最大存储数据量 redis set最大数据量_Redis

sadd key value1、value2…:向set中添加数据,如果该key的值已有则不会重复添加.

redis最大存储数据量 redis set最大数据量_Redis的常用命令_02

smembers key:获取set中所有的成员

redis最大存储数据量 redis set最大数据量_Redis_03


scard key:获取set中成员的数量

redis最大存储数据量 redis set最大数据量_redis最大存储数据量_04

sismember key member:判断参数中指定的成员是否在该set中,1表示存在,0表示不存在或者该key本身就不存在

redis最大存储数据量 redis set最大数据量_set类型_05


srem key member1、member2…:删除set中指定的成员

redis最大存储数据量 redis set最大数据量_set类型_06


srandmember key:随机返回set中的一个成员


redis最大存储数据量 redis set最大数据量_Redis的常用命令_07


sdiff sdiff key1 key2:返回key1与key2中相差的成员,就是说key1中相对key2没有的成员。即返回差集。

redis最大存储数据量 redis set最大数据量_redis最大存储数据量_08

sdiffstore destination key1 key2:将key1、key2相差的成员存储在destination上

redis最大存储数据量 redis set最大数据量_Redis的常用命令_09

sinter key[key1,key2…]:返回交集。

redis最大存储数据量 redis set最大数据量_set_10

sinterstore destination key1 key2:将返回的交集存储在destination上

redis最大存储数据量 redis set最大数据量_set_11

sunion key1、key2:返回并集,就是key1和key2合起来,当然重复的只保留一份。

redis最大存储数据量 redis set最大数据量_Redis_12

redis最大存储数据量 redis set最大数据量_Redis_13

sunionstore destination key1 key2:将返回的并集存储在destination上

redis最大存储数据量 redis set最大数据量_Redis_14