关于 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);
}
运行结果