关于 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,不存在返回 falseboolean 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);}
运行结果