🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## redis的set集合 ***** redis的set集合是String类型的**无序集合**,集合元素是唯一的 ### saddd ``` $ sadd key value1 value2 ``` 作用:对key添加一个value或多个value 返回值:被添加到集合中的新元素的数量,不包括被忽略的元素。 ### scard ``` $ scard key ``` 作用:获取key对应的所有元素个数 返回值:不存在是返回0。存在时返回集合的数量 ### sismember ``` $ sismember key member ``` 作用:查看member元素是不是key集合的成员 返回值:是的话返回1,不是或key集合不存在返回0 ### smembers ``` $ smembers key ``` ### smove ``` $ smove source destination member ``` 作用:将 member 元素从 source 集合移动到 destination 集合 返回值:如果 source 集合不存在或不包含指定的 member 元素,则 smove 命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。 当 destination 集合已经包含 member 元素时, smove 命令只是简单地将 source 集合中的 member 元素删除。 当 source 或 destination 不是集合类型时,返回一个错误。 注:此操作是原子性操作 ### spop ``` $ spop key ``` 作用:随机移除key集合的一个元素,并返回 返回值:被移除的元素, 当集合不存在或是空集的时候,返回nil ### srandmember ``` srandmember key [count] ``` count: 为可选的参数 作用: 如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 Srandmember 则仅仅返回随机元素,而不对集合进行任何改动。 返回值:只提供集合 key 参数时,返回一个元素;如果集合为空,返回 nil 。 如果提供了 count 参数,那么返回一个数组;如果集合为空,返回空数组。 ### srem ``` srem key member1….member2 ``` 作用:移除集合中的一个或多个元素 返回值:被移除的元素 ### sdiff ``` sdiff key key1 key2 ``` 作用:在集合key抛去 key1, key2分别和key两两之间的交集,剩余的部分为结果。不存在的集合视为空集 返回值:包含差集成员的列表 ### sdiffstore ``` sdiffstore distingnation key key2 key3 ``` 作用:其实就是在sdiff命令上做了修改,把这个结果放入到了集合distingnation中,若distingnation已经存在了就会被覆盖 返回值:结果集中的个数 ### sinter ``` sinter key1 key2 … key3 ``` 作用:返回各个集合的交集 返回值:结果集的成员列表 sinterstore destination key1 key2 … key3 作用:在sinter命令之上进行了扩展, 将各个集合的交集存储在了destination集合中,如果指定的集合已经存在,则将其覆盖 返回值:交集成员的列表 ### sunion ``` sunion key1 key2 key3 ``` 作用: 返回给定集合的并集。不存在的集合 key 被视为空集 返回值:被移除的元素, 当集合不存在或是空集的时候,返回nil ### sunionstore ``` sunionstore destination key1 key2…key3 ``` 作用:将给定集合的并集存储在指定的集合 destination 中。如果 destination 已经存在,则将其覆盖 返回值:并集的成员列表 ### sscan ``` sscan key ``` 作用:用于迭代集合键中的元素 返回值:数组列表