ITPub博客

首页 > 数据库 > NoSQL > redis命令之-set集合

redis命令之-set集合

原创 NoSQL 作者:小亮520cl 时间:2015-09-07 10:38:48 0 删除 编辑
个人笔记:勿详看(详细在线文档http://redisdoc.com/list/index.html)


  1.    set集合命令
  2. sadd

    SADD key member [member ...]

    将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。

    假如 key 不存在,则创建一个只包含 member 元素作成员的集合。

    当 key 不是集合类型时,返回一个错误。


    sadd key values
    SADD bbs "tianya.cn" "groups.google.com
    smembers 查看集合的所有元素 smembers key
    scard 查看集合元素个数 scard key
    sdiff

    SDIFF key [key ...]

    返回一个集合的全部成员,该集合是所有给定集合之间的差集。

    不存在的 key 被视为空集。


    127.0.0.1:6379> smembers bbs
    1) "groups.google.com"
    2) "tianya.cn"
    3) "discuz.net"
    127.0.0.1:6379> smembers bbs2
    1) "google.com"
    2) "baidu.com"
    127.0.0.1:6379> sdiff bbs bbs2
    1) "tianya.cn"
    2) "groups.google.com"
    3) "discuz.net"

    sdiffstore 与sdiff相比多了个将差异数据插入新的集合的步骤,

    如果 destination 集合已经存在,则将其覆盖。

    destination 可以是 key 本身。

    127.0.0.1:6379> sdiffstore des_key bbs bbs2
    (integer) 3
    127.0.0.1:6379> smembers des_key
    1) "tianya.cn"
    2) "groups.google.com"
    3) "discuz.net"

    sinter 交集 127.0.0.1:6379> sinter bbs bbs2
    (empty list or set)

    sinterstore 交集插入一个新的set,如果是存在的,将其覆盖 127.0.0.1:6379> smembers bbs
    1) "google.com"
    2) "groups.google.com"
    3) "tianya.cn"
    4) "discuz.net"
    127.0.0.1:6379> smembers bbs2
    1) "google.com"
    2) "baidu.com"
    127.0.0.1:6379> sinterstore des_key bbs bbs2
    (integer) 1
    127.0.0.1:6379>  smembers des_key
    1) "google.com"

    sismember 判断是否是集合的成员 127.0.0.1:6379> sismember bbs google.com
    (integer) 1

    smove 将集合元素移动到别的集合 127.0.0.1:6379> smove bbs bbs3 google.com
    (integer) 1
    127.0.0.1:6379>  smembers bbs3
    1) "google.com"

    spop

    SPOP key

    移除并返回集合中的一个随机元素。

    如果只想获取一个随机元素,但不想该元素从集合中被移除的话,可以使用 SRANDMEMBER 命令


    127.0.0.1:6379>  smembers bbs
    1) "groups.google.com"
    2) "tianya.cn"
    3) "discuz.net"
    127.0.0.1:6379> spop bbs
    "groups.google.com"
    127.0.0.1:6379>  smembers bbs
    1) "tianya.cn"
    2) "discuz.net"
    127.0.0.1:6379> spop bbs
    "tianya.cn"
    127.0.0.1:6379>  smembers bbs
    1) "discuz.net"

    srandmember 从集合返回一个随机元素,也可以指定个数,,srandmember key n,同一个元素可能出现多次 127.0.0.1:6379> srandmember bbs2
    "google.com"
    127.0.0.1:6379>srandmember bbs2 2
    1) "google.com"
    2) "baidu.com"

    srem

    SREM key member [member ...]

    移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。

    当 key 不是集合类型,返回一个错误。


    127.0.0.1:6379>  smembers bbs2
    1) "google.com"
    2) "baidu.com"
    3) "sina.com"
    127.0.0.1:6379> srem bbs2 baidu.com
    (integer) 1
    127.0.0.1:6379>  smembers bbs2
    1) "google.com"
    2) "sina.com"

    sunion 集合的并集 127.0.0.1:6379>  smembers bbs2
    1) "google.com"
    2) "sina.com"
    127.0.0.1:6379>  smembers bbs
    1) "discuz.net"
    127.0.0.1:6379> sunion bbs bbs2
    1) "google.com"
    2) "sina.com"
    3) "discuz.net"

    sunionstore

    SUNIONSTORE destination key [key ...]

    这个命令类似于 SUNION 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。

    如果 destination 已经存在,则将其覆盖。

    destination 可以是 key 本身。


    127.0.0.1:6379> sunionstore new_bbs bbs bbs2
    (integer) 3
    127.0.0.1:6379>  smembers new_bbs
    1) "google.com"
    2) "sina.com"
    3) "discuz.net"




















来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29096438/viewspace-1793096/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
毕业以后专业任职数据库工程师职位,itpub一直作为自己的笔记记录的地方,blog写的不详细,草书笔记,仅供参考!

注册时间:2013-09-12

  • 博文量
    529
  • 访问量
    1126971