Redis中有关set类型数据的操作命令

单key-多无序value
一个key对应多个value
value之间是没有顺序的,并且不能重复
通过业务数据直接操作集合

将一个或多个元素添加到指定的集合中

sadd key value [value1,value2]

如果元素已经存在,则会忽略

如果成功,返回成功添加元素的个数

redis 列表 集合 redis集合操作_nosql


获取指定集合中的所有元素

smembers key

redis 列表 集合 redis集合操作_redis_02


判断指定元素在集合中是否存在

sismember key member 
//存在 返回1
//不存在 返回0

redis 列表 集合 redis集合操作_数据库_03

获取指定集合的长度

scard key
scard set1

redis 列表 集合 redis集合操作_redis_04

移除指定集合中一个或多个元素

srem key member [member1,member2]

redis 列表 集合 redis集合操作_数据库_05

随机获取指定集合中的一个或多个元素

srandmember key [count] //可以指定随机数量

redis 列表 集合 redis集合操作_redis_06


从指定集合中移除一个或多个元素

spop set1 [count]
spop set1 1

redis 列表 集合 redis集合操作_数据_07


将指定集合中的指定元素移动到另一个元素

smove source dest member
smove set2 set1 a

redis 列表 集合 redis集合操作_数据库_08

获取第一个集合中有,但是其他集合中都没有的元素的集合(差集)

sdiff key key1 key2 key3
sdiff set1 set2

redis 列表 集合 redis集合操作_数据库_09


或取所有指定集合中都有的元素组成的新集合(交集)

sinter key key1 key2
sinter set1 set2

redis 列表 集合 redis集合操作_redis_10


获取所有指定集合中所有元素组成的大集合

sunion key key1 key2 key3
sunion set1 set2

redis 列表 集合 redis集合操作_随机数_11