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的差集 而不是和我预想的是返回除交集外的所有数据
            **/
        }
  • 相关阅读:
    redis发布订阅
    redis学习笔记(面试题)
    redis安全 (error) NOAUTH Authentication required
    HDU3001 Travelling —— 状压DP(三进制)
    POJ3616 Milking Time —— DP
    POJ3186 Treats for the Cows —— DP
    HDU1074 Doing Homework —— 状压DP
    POJ1661 Help Jimmy —— DP
    HDU1260 Tickets —— DP
    HDU1176 免费馅饼 —— DP
  • 原文地址:https://www.cnblogs.com/zhboke/p/14216497.html
Copyright © 2011-2022 走看看