《Redis使用手册之集合》
目录
- **《Redis使用手册之集合》**
- **SADD:将元素添加到集合**
- **SREM:从集合中移除元素**
- **SMOVE:将元素从一个集合移动到另一个集合**
- **SMEMBERS:获取集合包含的所有元素**
- **SCARD:获取集合包含的元素数量**
- **SISMEMBER:检查给定元素是否存在于集合**
- **SRANDMEMBER:随机获取集合中的元素**
- **SPOP:随机地从集合中移除指定数量的元素**
- **SINTER、SINTERSTORE:对集合执行交集计算**
- **SUNION、SUNIONSTORE:对集合执行并集计算**
- **SDIFF、SDIFFSTORE:对集合执行差集计算**
SADD:将元素添加到集合
-
127.0.0.1:6379> sadd set good
(integer) 0
127.0.0.1:6379> sadd set good abc
(integer) 1SADD:将元素添加到集合 通过使用SADD命令,用户可以将一个或多个元素添加到集合中: SADD set element 忽略已存在的元素,只将不存在于集合的新元素添加到集合中。
SADD:将元素添加到集合通过使用SADD命令,用户可以将一个或多个元素添加到集合中:
SREM:从集合中移除元素
-
127.0.0.1:6379> srem set good abc
(integer) 2
127.0.0.1:6379> sadd set a b c d
(integer) 4
127.0.0.1:6379> sadd set1 1 2 3 4
(integer) 4SREM:从集合中移除元素 通过使用SREM命令,用户可以从集合中移除一个或多个已存在的元素。 SREM set element 忽略不存在的元素,只移除那些确实存在的元素。
SREM:从集合中移除元素通过使用SREM命令,用户可以从集合中移除一个或多个已存在的元素:
SMOVE:将元素从一个集合移动到另一个集合
-
127.0.0.1:6379> smove set set1 a
(integer) 1
127.0.0.1:6379> smove set set1 b
(integer) 1SMOVE:将元素从一个集合移动到另一个集合: SMOVE source target element SMOVE命令在移动操作成功执行时返回1。如果指定的元素并不存在于源集合,那么SMOVE命令将返回0,表示移动操作执行失败。
SMOVE:将元素从一个集合移动到另一个集合
SMEMBERS:获取集合包含的所有元素
127.0.0.1:6379> smembers set
- “element”
- “c”
- “d”
127.0.0.1:6379> smembers set1
- “4”
- “3”
- “1”
- “b”
- “2”
- “a”
SMEMBERS:获取集合包含的所有元素 SMEMBERS set 无序的元素排列: Redis集合以无序的方式存储元素,并且SMEMBERS命令在获取集合元素时也不会对元素进行任何排序动作,所以根据元素添加顺序的不同,2个包含相同元素的集合在执行SMEMBERS命令时的结果也可能会有所不同。
SMEMBERS:获取集合包含的所有元素
SCARD:获取集合包含的元素数量
-
127.0.0.1:6379> scard set
(integer) 3
127.0.0.1:6379> scard set1
(integer) 6
127.0.0.1:6379> scard set2
(integer) 5SCARD:获取集合包含的元素数量 SCARD set
SCARD:获取集合包含的元素数量通过使用SCARD命令,用户可以获取给定集合的大小,即集合包含的元素数量:
SISMEMBER:检查给定元素是否存在于集合
-
127.0.0.1:6379> sismember set a
(integer) 0SISMEMBER:检查给定元素是否存在于集合 SISMEMBER set element
SISMEMBER:检查给定元素是否存在于集合通过使用SISMEMBER命令,用户可以检查给定的元素是否存在于集合当中:
SRANDMEMBER:随机获取集合中的元素
127.0.0.1:6379> smembers set2
“b”
“c”
“d”
“a”
“e”
127.0.0.1:6379> srandmember set2
“b”
127.0.0.1:6379> smembers set2
“b”
“e”
“a”
“c”
“d”
127.0.0.1:6379> srandmember set2 2
“e”
“c”
127.0.0.1:6379> srandmember set -2
“c”
“d”
127.0.0.1:6379> smembers set
“c”
“element”
“d”
SRANDMEMBER:随机获取集合中的元素 SRANDMEMBER set [count] 返回指定数量的元素 通过可选的count参数,用户可以指定SRANDMEMBER命令返回的元素数量,其中count参数的值既可以是正数也可以是负数。 - 如果count参数的值为正数,那么SRANDMEMBER命令将返回count个不重复的元素。 - 当count参数的值大于集合包含的元素数量时,SRANDMEMBER命令将返回集合包含的所有元素 - 如果count参数的值为负数,那么SRANDMEMBER命令将随机返回abs(coubt)哥元素也即是count的绝对值,并且在这些元素中允许出现重复的元素。
SRANDMEMBER:随机获取集合中的元素
SPOP:随机地从集合中移除指定数量的元素
127.0.0.1:6379> spop set 1
“d”
127.0.0.1:6379> spop set 1
“c”
127.0.0.1:6379> smembers set
“element”
SPOP:随机地从集合中移除指定数量的元素 通过使用功能SPOP命令,用户可以从集合中随机地移除指定数量的元素。 SPOP命令接受一个可选的count参数,用于指定需要被移除的元素数量。 如果用户没有给定这个参数,那么SPOP命令默认只移除一个元素。 SPOP key [count] SPOP与SRANDMEMBER的区别在于,SPOP命令会移除被随机选中的元素,而SRANDMEMBER命令则不会移除被随机选中的元素。 SPOP命令与SRANDMEMBER命令的另一个不同点在于,SPOP命令只接受正数count值,如果向SPOP命令提供负数count值将引发错误。
SPOP:随机地从集合中移除指定数量的元素通过使用SPOP命令,用户可以从集合中随机地移除指定数量的元素。SPOP命令接受一个可选的count参数,用于指定需要被移除的元素数量。如果用户没有给定这个参数,那么SPOP命令默认只移除一个元素:
SINTER、SINTERSTORE:对集合执行交集计算
127.0.0.1:6379> smembers set2
“b”
“e”
“a”
“c”
“d”
127.0.0.1:6379> smembers set1
“b”
“2”
“a”
“3”
“4”
“1”
127.0.0.1:6379> sinter set1 set2
“b”
“a”
127.0.0.1:6379> sinterstore set1set2 set1 set2
(integer) 2
127.0.0.1:6379> smembers set1set2
- “b”
- “a”
SINTER、SINTERSTORE:对集合执行交集计算 SINTER命令可以计算出用户给定的所有集合的交集,然后返回这个交集包含的所有元素 SINTER set [set …] SINTERSTORE命令可以把给定集合的交集计算结果存储到指定的键里面 SINTERSTORE destination_key set [set …] 如果给定的键已经存在,那么SINTERSTORE命令在执行存储操作之前会先删除已有的键。 SINTERSTORE命令在执行完毕之后会返回被存储的交集元素数量作为返回值。
SINTER、SINTERSTORE:对集合执行交集计算SINTER命令可以计算出用户给定的所有集合的交集,然后返回这个交集包含的所有元素:
SUNION、SUNIONSTORE:对集合执行并集计算
127.0.0.1:6379> sadd s1 a b c d
(integer) 4
127.0.0.1:6379> sadd s2 c d e f
(integer) 4
127.0.0.1:6379> sunion s1 s2
“b”
“e”
“a”
“f”
“c”
“d”
127.0.0.1:6379> sunionstore s1-unions2 s1 s2
(integer) 6
127.0.0.1:6379> smembers s1-unions2
“b”
“e”
“a”
“f”
“c”
“d”
SUNION、SUNIONSTORE:对集合执行并集计算 SUNION命令可以计算出用户给定的所有集合的并集,然后返回这个并集包含的所有元素 SUNION set [set …] SUNIONSTORE命令与SINTERSTORE类似 这个命令可以把给定集合的并集计算结果存储到指定键中,并在键已经存在的情况下自动覆盖已有的键。
SUNION、SUNIONSTORE:对集合执行并集计算SUNION命令可以计算出用户给定的所有集合的并集,然后返回这个并集包含的所有元素:
SDIFF、SDIFFSTORE:对集合执行差集计算
127.0.0.1:6379> sdiff s1 s2 s3
“a”
127.0.0.1:6379> sdiffstore s1s2s3 s1 s2 s3
(integer) 1
127.0.0.1:6379> smembers s1s2s3
“a”
SDIFF、SDIFFSTORE:对集合执行差集计算 SDIFF命令可以计算出给定集合之间的差集,并返回差集包含的所有元素。
SDIFF、SDIFFSTORE:对集合执行差集计算