zoukankan      html  css  js  c++  java
  • redis操作set集合

    使用redis操作set集合的学习,希望有所帮助

    public static void main(String[] args) {
            Jedis jedis = new Jedis("localhost", 6379);
            //测试jedis连接
            //System.out.println(jedis.ping());
            //操作set集合
            testSet(jedis);
        }

    具体的方法

     /***
        *@author zh
        *@Date 2020/12/31
        *@MethodNotes   jedis操作Set集合
        **/
        public static void testSet(Jedis jedis){
            /***
            *@author zh
            *@Date 2020/12/31
            *@MethodNotes  首先我们要创建一个set集合
             * 那么创建好了set集合也要知道在redis中是用什么命令去读取set集合
             * 在添加成功之后可以先使用 type key去查看这个key是什么类型的
             * jedis.sadd("user","aaa","bbb","ccc");
             * 当上面的代码执行完后,如果type user 那么就会返回一个set
             * set的查询命令为  smembers key
             *
             * 这个是java里面获取set集合的所有元素的方法
             * jedis.smembers("user");
             *
             * set集合删除一个值为aaa的元素 也可以写多个删除(jedis.srem("user","aaa","bbb");)
             * jedis.srem("user","aaa");
             *
             * 随机出栈set里的一个元素
             * jedis.spop("user");
             *
             * 获取set中元素个数
             * jedis.scard("user");
             *
             * 将aaa从set集合user中,剪切到set集合in中
             * jedis.smove("user","in","aaa");
             * 测试代码:
             *         jedis.sadd("user","aaa","bbb","ccc");
             *         jedis.sadd("in","ddd","eee","fff");
             *         jedis.smove("user","in","aaa");
             *         Set<String> user = jedis.smembers("user");
             *         Set<String> in = jedis.smembers("in");
             *         System.out.println(user.toString());
             *         System.out.println(in.toString());
             *
             * 获取set集合user和set集合in的交集
             * jedis.sinter("user", "in");
             *
             * 测试代码:
             *         jedis.sadd("user","aaa","bbb","ccc");
             *         jedis.sadd("in","aaa","eee","fff");
             *         Set<String> sinter = jedis.sinter("user", "in");
             *         System.out.println(sinter);
             *
             * 获取set集合user和set集合in的并集
             * jedis.sunion("user", "in");
             *
             * 测试代码
             *         jedis.sadd("user","aaa","bbb","ccc");
             *         jedis.sadd("in","aaa","eee","fff");
             *         Set<String> sunion = jedis.sunion("user", "in");
             *         System.out.println(sunion);
             *
             * 获取set集合user和set集合in的差集
             * jedis.sdiff("in", "user");
             *
             * 测试代码
             *         jedis.del("user");
             *         jedis.del("in");
             *         jedis.sadd("user","aaa","bbb","ccc");
             *         jedis.sadd("in","aaa","eee","fff");
             *         Set<String> sdiff = jedis.sdiff("in", "user");
             *         System.out.println(sdiff);
             *  经过测试,只会获取到集合in的差集也就是key1
             *  可能是测试方法不对,也有可能是这个方法只是 比较key1和key2之后只返回key1的差集 而不是和我预想的是返回除交集外的所有数据
            **/
        }
  • 相关阅读:
    缓存雪崩与缓存穿透
    读取表中最大值
    使用vscode在谷歌上运行代码
    elment 中tree组件展开所有和收缩所有节点
    深度系统商店提示无法安装软件依赖错误
    诗词,理解,品论
    《45个十分钟读懂资本论》原文、适合朗读版和个人见解
    《论持久战》全文
    OSError: [WinError 126] 找不到指定的模块。
    C++ 获取序列最大(或最小)的 N 个元素
  • 原文地址:https://www.cnblogs.com/zhboke/p/14216497.html
Copyright © 2011-2022 走看看