【Redis实战】集合类型(Set)

127.0.0.1:6379> SREM letters c d

(integer) 1

SREM命令用来从集合中删除一个或多个元素,并返回删除成功的个数。由值于元素“d”在集合中不存在,所有只删除了一个元素,返回值为1。

2、获得集合中得到所有元素(SMEMBERS)

SMEMBERS命令会返回集合中的所有元素。

127.0.0.1:6379> SMEMBERS letters

  1. “b”

  2. “a”

3、判断元素是否在集合中(SISMEMBER)

当值存在时,SISMEMBER命令返回1,否则返回0。

127.0.0.1:6379> SISMEMBER letters a

(integer) 1

127.0.0.1:6379> SISMEMBER letters d

(integer) 0

4、集合间运算(SDIFF/SINTER/SUNION)

(1)SDIFF命令用来对多个集合执行差集运算。

127.0.0.1:6379> SADD setA 1 2 3

(integer) 3

127.0.0.1:6379> SADD setB 2 3 4

(integer) 3

127.0.0.1:6379> SDIFF setA setB

  1. “1”

127.0.0.1:6379> SDIFF setB setA

  1. “4”

SDIFF命令支持同时传入多个件,例如:计算顺序是先计算setA-setB,再计算结果与setC的差集。

127.0.0.1:6379> SADD setC 2 3

(integer) 2

127.0.0.1:6379> SDIFF setA setB setC

  1. “1”

(2)SINTER命令用来对多个集合执行交集运算。

127.0.0.1:6379> SINTER setA setB

  1. “2”

  2. “3”

SINTER命令同样支持同时传入多个键,如:

127.0.0.1:6379> SINTER setA setB setC

  1. “2”

  2. “3”

(3)SUNION命令用来对多个集合执行并集运算。

127.0.0.1:6379> SUNION setA setB

  1. “1”

  2. “2”

  3. “3”

  4. “4”

SUNION命令同时支持传入多个键,例如:

127.0.0.1:6379> SUNION setA setB setC

  1. “1”

  2. “2”

  3. “3”

  4. “4”

5、获得集合中元素个数(SCARD)

SCARD命令用来获得集合中的元素个数。

127.0.0.1:6379> SMEMBERS letters

  1. “b”

  2. “a”

127.0.0.1:6379> SCARD letters

(integer) 2

6、进行集合运算并将结果存储(SDIFFSTORE)

SDIFFSTORE命令和SDIFF命令功能一样,唯一的区别就是前者不会直接返回运算结果,而是将结果存储在destination键中。

SDIFFSTORE命令常用于需要多步集合运算的场景中,如需要先计算差集再将结果和其他键计算交集。

7、随机获得集合中的元素(SRANDMEMBER)

SRANDMEMBER命令用来随机从集合中获取一个元素。

127.0.0.1:6379> SRANDMEMBER letters

“a”

127.0.0.1:6379> SRANDMEMBER letters

“b”

还可以传递count参数来一次随机获得多个元素,根据count的正负不同,具体表现也不同。

(1)当count为正数时,SRANDMEMBER会随机从集合里获得count个不重复的元素。如果count的值大于集合中的元素个数,则SRANDMEMBER会返回集合中的全部元素。

(2)当count为负数时,SRANDMEMBER会随机从集合里获得|count|个的元素,这些元素有可能相同。

127.0.0.1:6379> SMEMBERS letters

  1. “b”

  2. “c”

  3. “a”

  4. “d”

127.0.0.1:6379> SRANDMEMBER letters 2

  1. “b”

  2. “d”

127.0.0.1:6379> SRANDMEMBER letters 2

  1. “b”

  2. “a”

127.0.0.1:6379> SRANDMEMBER letters 100

  1. “b”

  2. “a”

  3. “c”

  4. “d”

127.0.0.1:6379> SRANDMEMBER letters -2

  1. “b”

  2. “c”

127.0.0.1:6379> SRANDMEMBER letters -10

  • 23
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值