版权声明: https://blog.csdn.net/Master_chaoAndQi/article/details/82933070
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();
}
}