Redis命令——Sets相关

本文介绍Redis中与集合相关的命令,内容主要来源于Redis的官方网站,如有需要请参看:http://redis.io/commands#set。

1.SADD
语法:SADD key member
说明:该操作的时间复杂度为O(1)。向存储在key上的集合中添加元素。如果该元素已经存在,那么将不会执行任何操作。如果指定的key不存在,那么将会创建一个新的集合,并且该集合中包含新添加的唯一一个元素。如果key对应的值不是set类型,那么将会发生错误。
返回值:如果向集合中添加了元素,那么返回值为1;如果member已经是该集合中的元素,那么返回值为0。
该命令自0.07版本后可用。

2.SCARD
语法:SCARD key
说明:该操作的时间复杂度为O(1)。返回key对应的集合中所存储的元素个数。
返回值:返回集合中的元素个数,如果key不存在,那么返回值为0。
该命令自0.07版本后可用。

3.SDIFF
语法:SDIFF key [key ...]
说明:该操作的时间复杂度为O(N),此处N为包含在所有指定集合中元素个数。返回第一个集合与后续所有集合中的元素的差集。
返回值:结果集合的元素列表。
该命令自0.100版本后可用。

4.SDIFFSTORE
语法:SDIFFSTORE destination key [key ...]
说明:该操作的时间复杂度为O(N),此处N为包含在所有指定集合中元素个数。该命令等同于SDIFF,但是该命令会将结果存储在destination中。如果目标已经存在,它将会被重写。
返回值:结果集合中的元素个数。
该命令自0.100版本后可用。

5.SINTER
语法:SINTER key [key ...]
说明:在最坏的情况下,该操作的时间复杂度为O(N*M),此处N为最小的集合的元素个数,而M为所给集合的个数。返回所有指定集合的交集。如果keys不存在,那么它将被认为是空集合。如果指定的keys中有一个是空集合,那么结果集合也将为空集合。
返回值:结果集合中的元素列表。
该命令自0.07版本后可用。

6.SINTERSTORE
语法:SINTERSTORE destination key [key ...]
说明:该操作的时间复杂度为O(N*M),此处N为最小的集合的元素个数,而M为所给集合的个数。该命令等同于SINTER,但是该命令并不直接返回结果集合,而是将其存储在destination中。
如果目标集合已经存在,那么它将被重写。
返回值:结果集合中的元素个数。
该命令自0.07版本后可用。

7.SISMEMBER
语法:SISMEMBER key memeber
说明:该操作的时间复杂度为O(1)。查看指定的member是否是key对应的集合中的元素。
返回值:如果指定的member是集合中的元素,那么返回值为1;如果指定的元素不是集合中的元素,或者key不存在,那么返回值为0。
该命令自0.07版本后可用。

8.SMEMBERS
语法:SMEMBERS key
说明:该操作的时间复杂度为O(N),此处N为集合的元素个数。返回存储在key上的集合中所有元素的个数。该命令与具有一个参数的SINTER命令效果相同。
返回值:返回集合中的所有元素。
该命令自0.07版本后可用。

9.SMOVE
语法:SMOVE source destination member
说明:该操作的时间复杂度为O(1)。将元素member从集合source中移至destination中。该操作是原子性的。对别的客户端而言,在每一个给定的时刻,元素会使source或者destination中的一员。如果source集合不存在或者没有包含指定的元素,将不会执行任何操作,并且返回值为0。不然的话,元素将会从source中移除,并且添加到destination中。当指定的元素已经在destination集合中存在时,该元素仅仅会从source集合中移除。如果source或者destination对应的值不是集合类型,那么将会发生错误。
返回值:如果元素被移除,那么将会返回1;如果指定的元素不是source中的一员并且没有执行任何操作,那么返回值为0。
该命令自0.091版本后可用。

10.SPOP
语法:SPOP key
说明:该操作的时间复杂度为O(1)。从key对应的集合中移除并返回一个随机的元素。该操作与SRANDMEMBER类似,但是SRANDMEMBER会从集合中返回一个随机元素但是并不移除它。
返回值:返回被移除的元素,如果key不存在,那么返回值为nil。
该命令自0.101版本后可用。

11.SRANDMEMBER
语法:SRANDMEMBER key
说明:该操作的时间复杂度为O(1)。返回key对应的集合中的一个随机元素。该操作与SPOP类似,但是SPOP命令会移除随机选择的元素,SRANDMEMBER仅仅是在不改变原有集合的基础上返回该随机元素。
返回值:返回随机选取的元素,如果指定的key不存在,那么返回值为nil。
该命令自1.001版本后可用。

12.SREM
语法:SREM key member
说明:从key对应的集合中移除指定的元素member。如果member不是集合中的一个元素,那么将不执行任何操作。
如果key对应的值并不是集合类型,那么将会发生错误。
返回值:如果元素被移除,那么返回值为1;如果member不是集合中的元素,那么返回值为0。
该命令自0.07版本后可用。

13.SUNION
语法:SUNION key [key ...]
说明:该操作的时间复杂度为O(N),此处N为所有给定的集合中元素的总数。返回所有给定集合元素的合集。如果指定的key不存在,那么将会被看作空集对待。
返回值:结果集合中的元素列表。
该命令自0.091版本后可用。

14.SUNINOSTORE
语法:SUNINOSTORE destination key [key ...]
说明:该操作的时间复杂度为O(N),此处N为给定集合中所有元素的总数。该命令等同于SUNION,但是该操作并不返回结果集合,而是将结果存储在destination中。如果destination已经存在,那么它将会被重写。
返回值:返回结果集合中元素的个数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值