• redis学习-集合set常用命令


    redis学习-集合set常用命令

     

    1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一)

    2.smembers:查看集合中所有的元素(上图事例)

    3.srem:删除结合中指定的元素

    4.scard:返回集合元素的数量

    5.SRandMember

    如果不填写返回个数,默认是1,如果填写的数字大于集合的size,那么返回集合的所有元素

    如果填写的是负数,如果绝对值大于集合的size,那么返回值里会出现一个元素多次出现的情况。

    如果key不存在,则返回nil

    smove:将一个集合的元素转移到另一个集合中

    spop:从集合中随机移出一个元素

     sismember:判断元素是否在集合中,如果存在 返回1,否则返回0

    sscan:使用游标获取集合中的值

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    @Test
        public  void scantest(){
            Jedis jedis=new Jedis("127.0.0.1",6379);
    //      jedis.select(2);
    //      for (int i = 0; i < 100; i++) {
    //          jedis.sadd("scantest","scanceshi"+i);
    //      }
    ////        System.out.println(m2);
            int x=1;
            int y=0;
            int sum=0;
            ScanParams scanParams=new ScanParams();
            scanParams.match("scanceshi51");
            Set<String> strings=new TreeSet<String>();
            for(;;){
                ScanResult<String> scantest = jedis.sscan("scantest", y, scanParams);
                System.out.println(scantest.getStringCursor().toString()+"----------取出:"+scantest.getResult().size()+"----当前总数:"+(scantest.getResult().size()+sum));
                sum+=scantest.getResult().size();
                for (String o : scantest.getResult()) {
                    strings.add(o);
                }
                if(scantest.getStringCursor().toString().equals("0")) break;
                y= Integer.parseInt(scantest.getStringCursor().toString());
            }
            System.out.println(strings.size());
            jedis.quit();
        }

      

     

    从0开始,一直循环,会返回两个集合,第几个是游标的位置,如果为0那么说明执行结束,如果不为0,那么下次以第一个集合返回的值作为下次开始的位置如下

    集合 并/交/差运算

    SUNION:集合并运算

    SUNIONSTORE:求并集后存到一个新的集合(如果结果集存入到已有的集合,那么会覆盖以后的数据集合)

     sinter/sinterstore同上

    sdiff/sdiffstore同上

     

  • 相关阅读:
    高负载的Lamp架构 转自:http://www.litrin.net/2011/04/20/%E9%AB%98%E8%B4%9F%E8%BD%BD%E7%9A%84lamp%E6%9E%B6%E6%9E%84/
    面向对象设计的基本原则
    [Tip: bat] About "%~dp0"
    [Tip: c# override]
    Where partial types fit in
    Further Overrideable things besides Methods
    [Tip]单位换算
    重构代码解决问题的基本思路
    随想编程之道
    VS快捷键
  • 原文地址:https://www.cnblogs.com/dong-dong-dong/p/9585077.html
Copyright © 2020-2023  润新知