Redis的集合类型适用于存储文章的标签.

集合类型与列表类型类似,同样也存在着差异

集合类型:无序,唯一 列表类型:有序,不唯一

命令基础

SADD key member [member...]   向集合类型中插入一个或多个数据
SREM key member [member...]  集合类型删除一个或多个数据

SADD 集合中如果不存在会创建,存在则忽略,返回成功加入的元素数量 SREM 集合中删除一个或多个数据,返回成功删除的元素数量

判断集合中是否存在某元素

SISMEMBER key member

集合间的运算

SDIFF key [key...]

SINTER key [key ...]

SUNION key [key...]

SDIFF 用来对多个集合执行差集运算

例如:keya = {1,2,3} keyb = {2,3,4}

SDIFF keya keyb

结果:1 (keya - keyb)

SINTER 对多个集合执行交集计算

SUNION 对多个集合进行并集计算

其它命令

获取集合中元素的个数

SCARD key

显示集合所有元素

SMEMBERS key

进行集合运算并将结果存储

SDIFFSTORE destination key [key..]   //对为key的散列列表进行集合运算,存储到destination里面
SINTERSTORE destination key [key..]
SUNIONSTORE destination key [key ..]

随机获得集合中的元素

SRANDMEMBER key [count]

count不写,默认为1,当count为正数时返回key中不重复的count个元素,如果count超出key元素个数,全部返回,当count为负数的时候,返回|count|个元素,有可能返回重复值

从集合中弹出一个元素

SPOP key

随机弹出一个元素,会改变原元素的值值