暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【Redis】基础6:使用Set集合

LNMPR 2021-06-21
215

1. Set集合命令整理

2. "插入"的例子

    # 插入成员
    127.0.0.1:6379> SADD users "bob" "tom" "eric"
    (integer) 3

    3. "获取"的例子

      # 获取总成员数
      127.0.0.1:6379> SCARD users
        (integer) 3


      # 获取所有的成员  
        127.0.0.1:6379> SMEMBERS users
      1) "eric"
      2) "tom"
      3) "bob"
        
      # 随机获取成员  
      127.0.0.1:6379> SRANDMEMBER users 2
      1) "eric"
        2"tom“ 
      • 多个集合之间的比较

        # 建立2个集合
        127.0.0.1:6379> SADD set1 a b c
        (integer) 3
        127.0.0.1:6379> SADD set2 a z x
        (integer) 3


        # 获取集合的差集
        127.0.0.1:6379> SDIFF set1 set2
        1) "b"
        2) "c"
        # 获取集合的交集
        127.0.0.1:6379> SINTER set1 set2
        1) "a"
        # 获取集合的并集
        127.0.0.1:6379> SUNION set1 set2
        1) "a"
        2) "x"
        3) "b"
        4) "c"
          5) "z"
          
        # 将结果存储在新的集合中
        127.0.0.1:6379SDIFFSTORE new_set set1 set2
        (integer) 2
        127.0.0.1:6379> SMEMBERS new_set
        1) "b"
        2) "c"
        • "SSCAN"的例子(在数据里比较少的时候会一次性全部查询出来,此时COUNT会失效)

          • cursor:游标 ( 可以根据游标值来往下迭代查询 )

          • pattern:匹配的模式

          • count:指定从数据集里返回的元素个数

          127.0.0.1:6379> SSCAN test 0 MATCH "*" COUNT 5
          1) "896"
          2) 1) "229"
          2) "701"
          3) "238"
          4) "178"
              5)   "B"

          # 拿到游标为896,并用游标为896来迭代查询
          127.0.0.1:6379> SSCAN test 896 MATCH "*" COUNT 5
          1) "960"
          2) 1) "656"
          2) "785"
          3) "702"
          4) "165"
              5)   "324"

          4. "弹出"的例子

            # 从集合中随机弹出成员
            127.0.0.1:6379> SPOP users 1
            1) "bob"
            127.0.0.1:6379> SPOP users 2
            1) "tom"
            2) "eric"

            5. "移动"的例子

              # 创建集合
              127.0.0.1:6379> sadd set1 a b c
              (integer) 3


              # 将元素a从set1集合移动到new_set集合中
              127.0.0.1:6379> SMOVE set1 new_set a
              (integer) 1

              127.0.0.1:6379> SMOVE set1 new_set aaaa
              (integer) 0


              # 查看成员
              127.0.0.1:6379> SMEMBERS set1
              1) "b"
              2) "c"
              127.0.0.1:6379> SMEMBERS new_set
                1"a"

              6. "判断"的例子

                # 判断是否存在成员
                127.0.0.1:6379> SISMEMBER users "bob"
                (integer) 1
                127.0.0.1:6379> SISMEMBER users "bob1"
                (integer) 0

                7. "删除"的例子

                  # 删除集合中的成员
                  127.0.0.1:6379> SREM users "bob"
                  (integer) 1
                  127.0.0.1:6379> SREM users "bob"
                  (integer) 0


                  文章转载自LNMPR,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论