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

目录

使用命令 sadd ,smembers

使用命令 sismember

使用命令 scard

使用命令 spop

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


关于 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);
    }

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小林想被监督学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值