redis-set类型基本命令
set类型中的每一个元素都是String类型,set中的元素是无序且不可重复的。它的实现类似Java中的set,
底层都是value为null的hash表,所以才是无序且不可重复的。
1.sadd命令
格式:SADD key value [value value ...]
功能: 将一个多个value添加到指定的集合key中,并且不会添加重复的value。
说明: 假如key不存在,创建一个空set再将value添加到set中,当key不是集合类型是,报错。

2.smembers命令
格式: SMEMBERS key
功能: 返回指定集合key中的所有元素
说明: 不存在的key被视为空集合,若key中包含大量元素,则该命令可能会阻塞redis服务,所以生产环境中一般不使用该命令,
而使用scan命令。指定的key不为set类型会报错。

3.scard命令
格式: SCARD key
功能: 返回指定集合key的长度
说明:当key不存在时,返回0,当key不为set类型时报错。

4.sismember命令
格式: SISMEMBER key value
功能: 判断value是否是指定集合key的元素。
说明: 如果value是,返回1;如果value不是或者指定的key不存在,返回0;如果指定的key不是set类型,会报错。

5.smove命令
格式: SMOVE key1 key2 value
功能: 将指定的value从key1中移动到key2中,执行成功返回1。
说明: 如果key1不存在或者key1中不存在指定的value,不执行任何操作,返回0。如果key2中已经存在了指定的value,会把key1中的
value删除;当key1或者key2不是set类型时会报错;如果不存在key2,创建一个key为key2的空的set再将key1中的value移动到key2中。



6.srem命令
格式: SREM key value [value value ...]
功能: 删除指定集合key中指定的一个或多个value,不存在的value会忽略掉,返回成功删除的元素个数。
说明: 当指定的key不是集合类型时会报错,当key不存在时返回0。

7.srandmember命令
格式:SRANDMEMBER key [count]
功能: 返回指定集合key中的count个元素,count默认值为1。
说明: 如果count为正数且小于集合的长度,那么会返回一个包含count个元素的数组;如果count为正数且大于等于节缓的长度,
那么返回整个集合;如果count为负数,那么返回一个包含count的绝对值个元素的数据,但是数组中的元素有可能会出现重复。



8.spop命令
格式: SPOP key [count]
功能: 随机移除并返回集合中的count个集合元素,count必须为正数,默认值为1。
说明: 如果count大于等于集合长度,那么删除并返回整个集合中的元素,如果指定的key不存在返回nil,key不为set类型报错。

9.sdiff命令
格式: SDIFF key1 key2
功能: 返回key1和key2的差集,也就是key1中存在但是key2中不存在的元素。
说明:如果key1存在但是key2不存在,那么返回key1中所有元素;如果key2不存在但是key2存在,那么返回empty array;
如果key1或者key2中有一个不是set类型,会报错。



10.sdiffstore命令
格式: SDIFFSTORE key key1 key2
功能: 返回key1和key2的差集,也就是key1中存在但是key2中不存在的元素,并将差集添加到指定的key中。
说明:和sdiff命令一致,如果key不存在会创建一个空的set,如果key不为set类型,会删除原先的key,然后创建一个空的set在进行添加。

11.sinter命令
格式: SINTER key1 key2
功能: 返回key1和key2的交集,也就是二者都存在的元素。
说明: 如果key1存在但是key2不存在,那么返回empty array;如果key2不存在但是key2存在,那么返回empty array;
如果key1或者key2中有一个不是set类型,会报错。

12.sinterstore命令
格式: SINTERSTORE key key1 key2
功能: 返回key1和key2的交集,也就是二者都存在的元素然后将交集添加到指定的key中。
说明:和sinter命令一致,如果key不存在会创建一个空的set,如果key不为set类型,会删除原先的key,然后创建一个空的set再进行添加。

13.sunion命令
格式: SUNION key1 key2
功能: 返回key1和key2的并集,也就是二者所有的元素,不会返回重复的元素。
说明: 如果key1或者key2中有一个为空,那么返回的就是另一个set的所有元素;如果其中有一个不是set类型,会报错。


13.sunionstore命令
格式: SUNIONSTORE key key1 key2
功能: 返回key1和key2的并集,也就是二者所有的元素,不会返回重复的元素,然后将并集添加到指定的key中。
说明: 和sunion命令一致,如果key不存在会创建一个空的set,如果key不为set类型,会删除原先的key,然后创建一个空的set再进行添加。

浙公网安备 33010602011771号