redis中有关set类型数据的操作命令:
【单key-多无序value】
【一个key对应多个value】
【value之间没有顺序,并且不能重复】
【通过业务数据直接操作集合】
(1)将一个或者多个元素添加到指定的集合中:sadd key value [value value value]
【如果元素已经存在,则会忽略】
【返回成功加入的元素的个数】
sadd set01 a b c a 结果:a b c
(2)获取指定集合中所有的元素:smembers key
smembers set01
(3)判断指定元素在指定集合中是否存在:sismember key member
【存在,返回1】
【不存在,返回0】
sismember set01 f
(4)获取指定集合的长度:scard key
scard set01
(5)移除指定集合中一个或者多个元素:srem key member [member member member]
【不存在的元素会被忽略】
【返回成功移除的个数】
srem set01 b d m
(6)随机获取指定集合中的一个或者多个元素:srandmember key [count]
【count不写,默认获取一个】
【count>0 随机获取的多个元素之间不能重复】
【count<0 随机获取的多个元素之间可以重复】
sadd set02 1 2 3 4 5 6 7 8
srandmember set02
srandmember set02 3
srandmember set02 -3
(7)从指定集合中随机移除一个或多个元素:spop key [count]
spop set02
(8)将指定集合中的指定元素移动到另一个集合:smove source rest member
smove set01 set02 a
(9)获取第一个集合中有、但是其他集合中没有的元素组成的辛几何:sdiff key key [key key...]
sdiff set01 set02
(10)获取所有指定集合中都有的元素组成的新集合: sinter key key [key key...]
sinter set01 set02
(11)获取所有指定集合中的所有元素组成的大集合:sunion key key key [key key...]
sunion set01 set02