通过 Java 操作 redis -- set 集合基本命令

发布于:2024-05-08 ⋅ 阅读:(25) ⋅ 点赞:(0)

关于 redis set 集合类型的相关命令推荐看Redis - Set 集合
要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis

        本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)

使用命令 sadd ,smembers

/**
     * 使用 sadd ,smembers
     * */
    public static void test1(Jedis jedis){
        //清空 redis 所有数据库中的数据
        jedis.flushAll();

        //向 redis 中添加类型为 set 的键值对,返回值是添加数据以后,集合中的数据个数
        long result1=jedis.sadd("key1","111","222","333");
        System.out.println("result1:"+result1);

        //获取集合中的所有数据
        Set<String>result2=jedis.smembers("key1");
        System.out.println("result2:"+result2);
    }

运行结果

使用命令 sismember

    /**
     * 使用 sismember
     * */
    public static void test2(Jedis jedis){
        //清空 redis 所有数据库中的数据
        jedis.flushAll();
        jedis.sadd("key1","111","222","333");

        //判断 key1 键值对的集合中,111 是否存在,存在返回 true,不存在返回 false
        boolean result1=jedis.sismember("key1","111");
        System.out.println("result1:"+result1);
    }

运行结果

使用命令 scard

    /**
     * 使用 scard
     * */
    public static void test3(Jedis jedis){
        //清空 redis 所有数据库中的数据
        jedis.flushAll();
        jedis.sadd("key1","111","222","333");

        //获取集合 key1 中的元素个数
        long result1=jedis.scard("key1");
        System.out.println("result1:"+result1);
    }

运行结果

使用命令 spop

    /**
     * 使用 spop
     * */
    public static void test4(Jedis jedis){
        //清空 redis 所有数据库中的数据
        jedis.flushAll();
        jedis.sadd("key1","111","222","333");

        //随机弹出(删除)集合中的一个元素
        String result1=jedis.spop("key1");
        System.out.println("result1:"+result1);
    }

运行结果

 使用命令 sinter,sinterstore,sunion,sunionstore,sdiff,sdiffstore

   /**
     * 使用 sinter,sinterstore,sunion,sunionstore,sdiff,sdiffstore
     * sunion,sunionstore,sdiff,sdiffstore 与 sinter,sinterstore 的用法几乎相同,这里不做赘述
     * */
    public static void test5(Jedis jedis){
        //清空 redis 所有数据库中的数据
        jedis.flushAll();
        jedis.sadd("key1","111","222","333");
        jedis.sadd("key2","111","222","444");

        //获取集合 key1 和 key2 的交集
        Set<String> result1=jedis.sinter("key1","key2");
        System.out.println("result1:"+result1);

        //将集合 key1 和 key2 的交集保存到集合 key3 中,返回值是交集的个数.
        //如果 key3 中原本有数据,原来的数据会被清空
        long result2=jedis.sinterstore("key3","key1","key2");
        System.out.println("result2:"+result2);
        Set<String> result3=jedis.smembers("key3");
        System.out.println("result3:"+result3);
    }

运行结果


网站公告

今日签到

点亮在社区的每一天
去签到