sadd key member [member ...]  向集合中增加元素

SMEMBERS key   查询集合中所有的元素

srem key member [member ...]   移除集合中指定元素

SISMEMBER key member  判断集合中是否存在某元素

 SDIFF key [key ...]  计算集合差集

SINTER key [key ...]  计算集合交集

SUNION key [key ...]  计算集合并集

SCARD key   计算元素个数

SRANDMEMBER key [count]  随机取集合中的一个元素

SDIFFSTORE destination key [key ...]   计算集合差集 将差集赋给新的集合

SINTERSTORE destination key [key ...]  计算集合交集 将差集赋给新的集合

SUNIONSTORE destination key [key ...]   计算集合并集  将并集赋给新的集合

一 命令行的方式 

1  sadd 和smenmber 增加和查询集合中的所有元素

127.0.0.1:6379> sadd set1 zhangsan  lisi  wangermazi
(integer) 3
127.0.0.1:6379> SMEMBERS set1
1) "zhangsan"
2) "wangermazi"
3) "lisi"

2 移除集合中的某个元素

127.0.0.1:6379> srem set1 zhangsan
(integer) 1
127.0.0.1:6379> SMEMBERS set1
1) "wangermazi"
2) "lisi"
127.0.0.1:6379> 

3  判断集合中是否存在该元素

127.0.0.1:6379> SISMEMBER set1 zhangsan
(integer) 0
127.0.0.1:6379> SISMEMBER  set1 wangmazi
(integer) 0
127.0.0.1:6379> SISMEMBER  set1 lisi
(integer) 1
127.0.0.1:6379>

4  计算集合差集

127.0.0.1:6379> sadd set2 zhangsan  lisi  wangmazi  zhaoqian  sunli
(integer) 5
127.0.0.1:6379> sdiff set1 set2
1) "wangermazi"
127.0.0.1:6379>

5 计算集合交集

27.0.0.1:6379> SINTER set1 set2
1) "lisi"
127.0.0.1:6379> SMEMBERS set1
1) "wangermazi"
2) "lisi"
127.0.0.1:6379> 

6 计算集合并集

127.0.0.1:6379> SUNION set1 set2
1) "zhangsan"
2) "sunli"
3) "zhaoqian"
4) "wangermazi"
5) "lisi"
6) "wangmazi"
127.0.0.1:6379>

7 计算元素个数

127.0.0.1:6379> SCARD set1
(integer) 2
127.0.0.1:6379> SCARD set2
(integer) 5
127.0.0.1:6379>

8 随机取集合中的一个元素

127.0.0.1:6379> SRANDMEMBER  set1
"wangermazi"
127.0.0.1:6379> SRANDMEMBER set2
"sunli"
127.0.0.1:6379>

9 计算两个集合的差集赋值给新的集合

127.0.0.1:6379> SDIFFSTORE  set3  set1 set2
(integer) 1
127.0.0.1:6379> SMEMBERS set3
1) "wangermazi"
127.0.0.1:6379>

10  计算两个集合的交集赋值给set3

127.0.0.1:6379> SINTERSTORE  set3 set1 set2
(integer) 1
127.0.0.1:6379> SMEMBERS set3
1) "lisi"
127.0.0.1:6379>

11 计算两个集合的并集 赋值给set3

127.0.0.1:6379> SUNIONSTORE  set3 set1 set2
(integer) 6
127.0.0.1:6379> SMEMBERS set3
1) "zhangsan"
2) "sunli"
3) "zhaoqian"
4) "wangermazi"
5) "lisi"
6) "wangmazi"
127.0.0.1:6379>

二 java 操作set集合完成增删改查

package redisUtils;

import java.util.Set;

import org.junit.Test;

import redis.clients.jedis.Jedis;

public class RedisSet {
	@Test
	public void template(){// 模板
		Jedis jedis =  RedisUtils.getJedis();

		jedis.close();
		RedisUtils.close();

	}
	/**
	 * sadd
	 * smembers
	* @Description: TODO(用一句话描述该文件做什么)
	* @author guochao
	* @date 2018年10月3日
	*
	 */
	@Test
	public void sadd(){//
		Jedis jedis =  RedisUtils.getJedis();
		jedis.sadd("setTest", "zhangsan","lisi","wangmazi");
		Set<String> smembers = jedis.smembers("setTest");
		System.out.println(smembers); //[zhangsan, wangmazi, lisi]
		jedis.close();
		RedisUtils.close();

	}
	/**
	 * srem
	* @Description: TODO(用一句话描述该文件做什么)
	* @author guochao
	* @date 2018年10月3日
	*
	 */
	@Test
	public void srem(){//
		Jedis jedis =  RedisUtils.getJedis();
		jedis.srem("setTest", "zhangsan");
		Set<String> smembers = jedis.smembers("setTest");
		System.out.println(smembers); //[wangmazi, lisi]
		jedis.close();
		RedisUtils.close();

	}
	/**
	 * sismember
	* @Description: TODO(用一句话描述该文件做什么)
	* @author guochao
	* @date 2018年10月3日
	*
	 */
	@Test
	public void sismember(){//
		Jedis jedis =  RedisUtils.getJedis();
		Boolean sismember = jedis.sismember("setTest", "zhangsan");

		System.out.println(sismember); //false
		jedis.close();
		RedisUtils.close();
	}
	/**sdiff
	 * sdiffstore
	 * 计算集合差集   并将差集赋值给set3
	* @Description: TODO(用一句话描述该文件做什么)
	* @author guochao
	* @date 2018年10月3日
	*
	 */
	@Test
	public  void  sdiff(){
		Jedis jedis =  RedisUtils.getJedis();
		Set<String> sdiff = jedis.sdiff("set1","set2");
		System.out.println(sdiff);
		Long sdiffstore = jedis.sdiffstore("set3", "set1","set2");
		System.out.println("差集个数:"+sdiffstore);
		Set<String> smembers = jedis.smembers("set3");
		System.out.println("set3:"+smembers);
		/**
		 * [wangermazi]
			差集个数:1
			set3:[wangermazi]
		 */
		jedis.close();

		RedisUtils.close();

	}
	/**
	 * 计算两个集合的交集   并将交集赋值给集合3
	 * sinter
	 * sinterstore
	* @Description: TODO(用一句话描述该文件做什么)
	* @author guochao
	* @date 2018年10月3日
	*
	 */
	@Test
	public  void sinter(){
		Jedis jedis =  RedisUtils.getJedis();
		Set<String> sinter = jedis.sinter("set1","set2");
		System.out.println("相交元素个数:"+sinter);
		Long sinterstore = jedis.sinterstore("set3","set1","set2");
		System.out.println("相交个数:"+sinterstore);
		Set<String> smembers = jedis.smembers("set3");
		System.out.println("set3:"+smembers);
		/**
		 * 相交元素个数:[lisi]
			相交个数:1
			set3:[lisi]
		 */
		jedis.close();
		RedisUtils.close();

	}
	/**
	 * SUNION
	 * 计算集合并集  并将结果赋值给集合3
	* @Description: TODO(用一句话描述该文件做什么)
	* @author guochao
	* @date 2018年10月3日
	*
	 */
	@Test
	public void sunions(){
		Jedis jedis =  RedisUtils.getJedis();
		Set<String> sunion = jedis.sunion("set1","set2");
		System.out.println("并集数据:"+sunion);
		Long sunionstore = jedis.sunionstore("set3", "set1","set2");
		System.out.println("并集元素个数:"+sunionstore);
		Set<String> smembers = jedis.smembers("set3");
		System.out.println("set3:"+smembers);
		/**
		 * 并集数据:[zhangsan, sunli, zhaoqian, wangermazi, lisi, wangmazi]
			并集元素个数:6
			set3:[zhangsan, sunli, zhaoqian, wangermazi, lisi, wangmazi]
		 */
		jedis.close();
		RedisUtils.close();

	}
	/**
	 * 随机取集合中的一个元素
	* @Description: TODO(用一句话描述该文件做什么)
	* @author guochao
	* @date 2018年10月3日
	*
	 */
	@Test
	public void  srandmember(){
		Jedis jedis =  RedisUtils.getJedis();
		String srandmember = jedis.srandmember("set3");
		System.out.println(srandmember); //zhangsan
		jedis.close();
		RedisUtils.close();
	}

}

 

10-03 19:07