# Set Commands

# sadd

  • 支持:是

  • 说明:向集合中添加一个或者多个元素,并且自动去重

  • 示例:

    > SADD myset "Hello"
    (integer) 1
    > SADD myset "World"
    (integer) 1
    > SADD myset "World"
    (integer) 0
    > SMEMBERS myset
    1) "Hello"
    2) "World"
    

# scard

  • 支持:是

  • 说明:返回集合中元素的个数

  • 示例:

    > SADD myset "Hello"
    (integer) 1
    > SADD myset "World"
    (integer) 1
    > SCARD myset
    (integer) 2
    

# sdiff

  • 支持:是

  • 说明:求两个或对多个集合的差集

  • 示例:

    > SADD key1 "a"
    (integer) 1
    > SADD key1 "b"
    (integer) 1
    > SADD key1 "c"
    (integer) 1
    > SADD key2 "c"
    (integer) 1
    > SADD key2 "d"
    (integer) 1
    > SADD key2 "e"
    (integer) 1
    > SDIFF key1 key2
    1) "a"
    2) "b"
    

# sdiffstore

  • 支持:是

  • 说明:求两个集合或多个集合的差集,并将结果保存到指定的集合(key)中

  • 示例:

    > SADD key1 "a"
    (integer) 1
    > SADD key1 "b"
    (integer) 1
    > SADD key1 "c"
    (integer) 1
    > SADD key2 "c"
    (integer) 1
    > SADD key2 "d"
    (integer) 1
    > SADD key2 "e"
    (integer) 1
    > SDIFFSTORE key key1 key2
    (integer) 2
    > SMEMBERS key
    1) "a"
    2) "b"
    

# sinter

  • 支持:是

  • 说明:求两个或多个集合的交集

  • 示例:

    > SADD key1 "a"
    (integer) 1
    > SADD key1 "b"
    (integer) 1
    > SADD key1 "c"
    (integer) 1
    > SADD key2 "c"
    (integer) 1
    > SADD key2 "d"
    (integer) 1
    > SADD key2 "e"
    (integer) 1
    > SINTER key1 key2
    1) "c"
    

# sinterstore

  • 支持:是

  • 说明:求两个或多个集合的交集,并将结果保存到指定的集合(key)中

  • 示例:

    > SADD key1 "a"
    (integer) 1
    > SADD key1 "b"
    (integer) 1
    > SADD key1 "c"
    (integer) 1
    > SADD key2 "c"
    (integer) 1
    > SADD key2 "d"
    (integer) 1
    > SADD key2 "e"
    (integer) 1
    > SINTERSTORE key key1 key2
    (integer) 1
    > SMEMBERS key
    1) "c"
    

# sismember

  • 支持:是

  • 说明:判断member元素是否集合key的成员

  • 示例:

    > SADD myset "one"
    (integer) 1
    > SISMEMBER myset "one"
    (integer) 1
    > SISMEMBER myset "two"
    (integer) 0
    

# smembers

  • 支持:是

  • 说明:查看集合中所有成员元素

  • 示例:

    > SADD myset "Hello"
    (integer) 1
    > SADD myset "World"
    (integer) 1
    > SMEMBERS myset
    1) "Hello"
    2) "World"
    

# smove

  • 支持:是

  • 说明:将集合中的元素从source集合移动到destination集合

  • 示例:

    > SADD myset "one"
    (integer) 1
    > SADD myset "two"
    (integer) 1
    > SADD myotherset "three"
    (integer) 1
    > SMOVE myset myotherset "two"
    (integer) 1
    > SMEMBERS myset
    1) "one"
    > SMEMBERS myotherset
    1) "three"
    2) "two"
    

# spop

  • 支持:是

  • 说明:弹出指定数量的元素

  • 示例:

    > SADD myset "one"
    (integer) 1
    > SADD myset "two"
    (integer) 1
    > SADD myset "three"
    (integer) 1
    > SPOP myset
    "two"
    > SMEMBERS myset
    1) "three"
    2) "one"
    > SADD myset "four"
    (integer) 1
    > SADD myset "five"
    (integer) 1
    > SPOP myset 3
    1) "four"
    2) "three"
    3) "one"
    > SMEMBERS myset
    1) "five"
    

# srandmember

  • 支持:是

  • 说明:随机从集合中返回指定数量的元素,默认返回 1个

  • 示例:

    > SADD myset one two three
    (integer) 3
    > SRANDMEMBER myset
    "three"
    > SRANDMEMBER myset 2
    1) "two"
    2) "one"
    > SRANDMEMBER myset -5
    1) "three"
    2) "one"
    3) "three"
    4) "two"
    5) "two"
    

# srem

  • 支持:是

  • 说明:删除一个或者多个元素,若元素不存在则自动忽略

  • 示例:

    > SADD myset "one"
    (integer) 1
    > SADD myset "two"
    (integer) 1
    > SADD myset "three"
    (integer) 1
    > SREM myset "one"
    (integer) 1
    > SREM myset "four"
    (integer) 0
    > SMEMBERS myset
    1) "three"
    2) "two"
    

# sscan

  • 支持:否

  • 说明:开发中...

  • 示例:

    In the progress
    

# sunion

  • 支持:是

  • 说明:求两个或者多个集合的并集

  • 示例:

    > SADD key1 "a"
    (integer) 1
    > SADD key1 "b"
    (integer) 1
    > SADD key1 "c"
    (integer) 1
    > SADD key2 "c"
    (integer) 1
    > SADD key2 "d"
    (integer) 1
    > SADD key2 "e"
    (integer) 1
    > SUNION key1 key2
    1) "a"
    2) "b"
    3) "c"
    4) "d"
    5) "e"
    

# sunionstore

  • 支持:是

  • 说明:求两个或者多个集合的并集,并将结果保存到指定的集合(key)中

  • 示例:

    > SADD key1 "a"
    (integer) 1
    > SADD key1 "b"
    (integer) 1
    > SADD key1 "c"
    (integer) 1
    > SADD key2 "c"
    (integer) 1
    > SADD key2 "d"
    (integer) 1
    > SADD key2 "e"
    (integer) 1
    > SUNIONSTORE key key1 key2
    (integer) 5
    > SMEMBERS key
    1) "a"
    2) "b"
    3) "c"
    4) "d"
    5) "e"