- /**
- * @author jackson
- * @date 2015-12-21 上午10:54:49
- * @return void
- */
- @Test
- public void jedisSet(){
- //sadd 去除重复的元素
- jedis.sadd("jedisSet", "1 2 3 4 5 5".split(" "));
- Set<String> s = jedis.smembers("jedisSet"); // 返回集合中的所有元素
- System.out.println("sadd 返回值:"+s);//返回值:[1, 2, 3, 4, 5]
- //scard 返回集合中元素的个数 当key 不存在时返回 0
- long n = jedis.scard("jedisSet");// 返回集合中元素的个数 当key 不存在时返回 0
- System.out.println("jedisSet 集合中元素的个数:"+n);
- //sdiff 返回给定的几个集合的差集
- jedis.sadd("jedisSet1", "1 2 3 4 5 5".split(" "));
- jedis.sadd("jedisSet2", "5 6 7 8".split(" "));
- s = jedis.sdiff("jedisSet1 jedisSet2".split(" "));
- System.out.println("返回给定的几个集合的差集: "+s);
- //sdiffstore 类似于 sdiff命令,将结果集放入了给定的集合中,返回给定集合的长度 如果给定集合已经存在则对其进行覆盖
- n = jedis.sdiffstore("jedisSet3", "jedisSet1 jedisSet2".split(" "));
- s = jedis.smembers("jedisSet3"); // 返回集合中的所有元素
- System.out.println("存放差集集合的长度:"+n + "差集结果集:"+s);
- //sinter 返回所有给定集合的交集
- s= jedis.sinter("jedisSet1 jedisSet2".split(" "));
- System.out.println("返回给定的几个集合的交集: "+s);
- //sinterstore 类似于 sinter命令,将结果集放入了给定的集合中,返回给定集合的长度 如果给定集合已经存在则对其进行覆盖
- n = jedis.sinterstore("jedisSet4", "jedisSet1 jedisSet2".split(" "));
- s = jedis.smembers("jedisSet4"); // 返回集合中的所有元素
- System.out.println("存放交集集合的长度:"+n + "交集结果集:"+s);
- //sismember 判断 某个 成员是否在 某个key中 返回 true 或 false
- jedis.sadd("jedisSet5", "r t d s e t".split(" "));
- Boolean flag = jedis.sismember("jedisSet5", "r");
- System.out.println("判断 某个 成员是否在 某个key中"+flag);
- //smvoe 将 集合srckey中的成员 移动到dstkey 原则:集合中的元素不重复
- jedis.sadd("jedisSet6", "啊 的 额 人 他 去 就 哦".split(" "));
- jedis.sadd("jedisSet7", "l d e q f j".split(" "));
- n = jedis.smove("jedisSet6", "jedisSet7", "啊");
- Set<String> sSet = jedis.smembers("jedisSet6"); // 返回集合中的所有元素
- Set<String> dSet = jedis.smembers("jedisSet7"); // 返回集合中的所有元素
- System.out.println("成功1 失败0 "+n+" 源集合 "+sSet+" 目标集合"+dSet);//源集合 [哦, 的, 去, 他, 就, 额, 人] 目标集合[d, e, 啊, l, j, q, f]
- //spop 随机移除集合中的元素并返回
- jedis.sadd("jedisSet8", "啊 的 额 人 他 去 就 哦".split(" "));
- String s8 = jedis.spop("jedisSet8");//移除并返回集合中的一个随机元素。
- Set<String> jedisSet8 = jedis.smembers("jedisSet8"); // 返回集合中的所有元素
- System.out.println(s8+" "+jedisSet8);
- //srandmember(key) 随机返回集合中的一个元素,不删除
- jedis.sadd("jedisSet9", "啊 的 额 人 他 去 就 哦".split(" "));
- String s9 = jedis.srandmember("jedisSet9");
- Set<String> jedisSet9 = jedis.smembers("jedisSet9"); // 返回集合中的所有元素
- System.out.println(s9+" "+jedisSet9);
- //srandmember(key,count) 随机返回集合中的一个元素,不删除,count > 0 返回指定个数的集合元素,不重复,如果count 大于集合的长度,那只返回整个集合
- jedis.sadd("jedisSet10", "啊 的 额 人 他 去 就 哦".split(" "));
- List<String> setList = jedis.srandmember("jedisSet10",10);
- Set<String> jedisSet10 = jedis.smembers("jedisSet10"); // 返回集合中的所有元素
- System.out.println("集合中的值:"+jedisSet10+" 随机返回的集合: "+setList);//集合中的值:[哦, 啊, 的, 去, 他, 就, 额, 人] 随机返回的集合: [哦, 啊, 的, 去, 他, 额, 就, 人]
- jedis.sadd("jedisSet11", "啊 的 额 人 他 去 就 哦".split(" "));
- List<String> setListf = jedis.srandmember("jedisSet11",-10);//count < 0 随机返回 指定count 绝对值个元素,如果大于集合长度,则继续返回,允许重复,
- Set<String> jedisSet11 = jedis.smembers("jedisSet11"); // 返回集合中的所有元素
- System.out.println("集合中的值:"+jedisSet11+" 随机返回的集合: "+setListf);//集合中的值:[哦, 啊, 的, 去, 他, 就, 额, 人] 随机返回的集合: [哦, 额, 的, 哦, 的, 他, 人, 人, 哦, 的]
- //srem 移除集合key 中的一个或多个member 元素,不存在的member 元素会被忽略。当key 不是集合类型,返回一个错误。
- jedis.sadd("jedisSet12", "啊 的 额 人 他 去 就 哦".split(" "));
- Set<String> jedisSet12bef = jedis.smembers("jedisSet12"); // 返回集合中的所有元素
- n = jedis.srem("jedisSet12", "啊 的 额 人 ".split(" "));// n = 4 表示移除成功元素的个数
- Set<String> jedisSet12after = jedis.smembers("jedisSet12"); // 返回集合中的所有元素
- System.out.println(n+" jedisSet12 移除前key中的元素: "+jedisSet12bef+"jedisSet12 移除后key中的元素: "+jedisSet12after);//4 jedisSet12 移除前key中的元素: [哦, 啊, 的, 去, 他, 就, 额, 人]jedisSet12 移除后key中的元素: [哦, 去, 他, 就]
- //SUNION 返回几个集合的并集
- jedis.sadd("jedisSet13", "啊 的 额 人 他 去 就 哦".split(" "));
- jedis.sadd("jedisSet14", "1 2 3 4".split(" "));
- Set<String> sunionSet = jedis.sunion("jedisSet13 jedisSet14".split(" "));
- System.out.println("jedisSet13 jedisSet14并集:"+sunionSet);
- //sunionstore
- n = jedis.sunionstore("jedisSet15", "jedisSet13 jedisSet14".split(" "));// 返回并集集合的长度
- sunionSet = jedis.smembers("jedisSet15");
- System.out.println(n+ " jedisSet13 jedisSet14并集:"+sunionSet);
- //sscan 详细信息请参考SCAN 命令。
- }
Redis入门之 redis set集合的操作
最新推荐文章于 2023-04-24 12:43:34 发布