5、Redis中对Set类型的操作命令


import redis.clients.jedis.Jedis; /**
* redis中对于set类型的: sadd 操作示例
* sadd:添加元素,格式是:sadd set的key item的项值,item项可以有多个。
*/
public class Set_sadd_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379); /**
* 示例1: 相当于执行 sadd k1 v1
*/
Long myset = jedis.sadd("myset", "1");
System.out.println("myset = " + myset); /**
* 示例2: 相当于执行 sadd k1 v1 v2 v3 v4
*/
Long myset1 = jedis.sadd("myset", "1", "2", "3", "4");
System.out.println("myset1 = " + myset1);
}
}

import redis.clients.jedis.Jedis; import java.util.Set; /**
* redis中对于set类型的: smembers 操作示例
* smembers:获取集合中所有元素,格式是:smembers set的key
*/
public class Set_smembers_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 smembers key
*/
Set<String> myset = jedis.smembers("myset");
System.out.println("myset = " + myset);
}
}

import redis.clients.jedis.Jedis; /**
* redis中对于set类型的: sismember 操作示例
* sismember:判断元素是否在集合中,格式是:sismember set的key item的项值
*/
public class Set_sismember_operation { public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 sismember myset 1
*/
Boolean sismember = jedis.sismember("myset", "1");
System.out.println("sismember = " + sismember); /**
* 示例2: 相当于执行 sismember myset 11
*/
Boolean sismember1 = jedis.sismember("myset", "11");
System.out.println("sismember1 = " + sismember1);
}
}

import redis.clients.jedis.Jedis; /**
* redis中对于set类型的:
* srem:删除元素,格式是:srem set的key item项的值
*/
public class Set_srem_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 srem myset 1
*/
Long myset = jedis.srem("myset", "1");
System.out.println("myset = " + myset); /**
* 示例2: 相当于执行 srem myset 11
*/
Long myset1 = jedis.srem("myset", "11");
System.out.println("myset1 = " + myset1);
}
}
1.5、scard:获取集合中元素的个数,格式是:scard set的key

import redis.clients.jedis.Jedis; /**
* redis中对于set类型的:
* scard:获取集合中元素的个数,格式是:scard set的key
*/
public class Set_scard_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379); /**
* 示例1: 相当于执行 scard myset
*/
Long myset = jedis.scard("myset");
System.out.println("myset = " + myset);
}
}
1.6、srandmember:随机获取集合中的元素,格式是:srandmember set的key[数量]。(数量为正数时,会随机获取这么多个不重复的元素;如果数量大于集合元素个数,返回全部;如果数量为负,会随机获取这么多个元素,可能有重复。)

import redis.clients.jedis.Jedis; import java.util.List;
import java.util.Set; /**
* redis中对于set类型的:
* srandmember:随机获取集合中的元素,格式是:srandmember set的key[数量]。
* (数量为正数时,会随机获取这么多个不重复的元素;如果数量大于集合元素个数,返回全部;如果数量为负,会随机获取这么多个元素,可能有重复。)
*/
public class Set_srandmember_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379); Set<String> myset = jedis.smembers("myset");
System.out.println("myset = " + myset); /**
* 示例1: 相当于执行 srandmember myset 5
*/
List<String> myset1 = jedis.srandmember("myset", 5);
System.out.println("myset1 = " + myset1); /**
* 示例2: 相当于执行 srandmember myset -1
*/
List<String> myset2 = jedis.srandmember("myset", -4);
System.out.println("myset2 = " + myset2); }
}

import redis.clients.jedis.Jedis; /**
* redis中对于set类型的:
* spop:弹出元素,格式是:spop set的key
*/
public class Set_spop_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379); /**
* 示例1: 相当于执行 spop myset
*/
String myset = jedis.spop("myset");
System.out.println("myset = " + myset);
}
}

import redis.clients.jedis.Jedis; /**
* redis中对于set类型的:
* smove:移动元素。格式是:smove 源set的key 目的set的key item项的值 (ps:一次只能移动一个item)
*/
public class Set_smove_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379); /**
* 示例1: 相当于执行 smove myset myset2 item项的值
*/
jedis.sadd("myset","1","2","3","4","5");
Long smove = jedis.smove("myset", "myset2", "2");
System.out.println("smove = " + smove); Long smove1 = jedis.smove("myset", "myset2", "5");
System.out.println("smove1 = " + smove1); }
}

import redis.clients.jedis.Jedis; import java.util.Set; /**
* redis中对于set类型的:
* sdiff:差集,返回在第一个set里面而不在后面任何一个set里面的项。格式是:sdiff set的key 用来比较的多个set的key
* sdiffstore:差集并保留结果,格式是:sdiffstore 存放结果的set的key set的key 用来比较的多个set的key
*/
public class Set_sdiff_sdiffstore_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379); jedis.sadd("myset", "1", "2", "3", "4", "5");
jedis.sadd("myset2", "1", "2","9");
jedis.sadd("myset3", "5", "6");
/**
* 示例1: 相当于执行 sdiff set的key 用来比较的多个set的key
*/
Set<String> sdiff = jedis.sdiff("myset", "myset2");
System.out.println("在myset中,但是不在myset2中的元素有:" + sdiff.toString()); Set<String> sdiff1 = jedis.sdiff("myset", "myset2", "myset3");
System.out.println("在myset中,但是不在myset2、myset3中的元素有:" + sdiff1.toString()); /**
* 示例2: 相当于执行 sdiffstore 存放结果的set的key set的key 用来比较的多个set的key
*/
Long sdiffstore = jedis.sdiffstore("myset4", "myset", "myset2");
System.out.println("sdiffstore = " + sdiffstore);
Set<String> myset4 = jedis.smembers("myset4");
System.out.println("myset4 = " + myset4.toString());
}
}
1.10、sdiffstore:差集并保留结果,格式是:sdiffstore 存放结果的set的key set的key 用来比较的多个set的key


import redis.clients.jedis.Jedis; import java.util.Set; /**
* redis中对于set类型的:
* sinter:交集,返回多个set里面都有的项。格式是:sinter 多个set的key
* sinterstore:交集并保留结果。格式是:sinterstore 存放结果的key 多个set的key
*/
public class Set_sinter_sinterstore_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379); jedis.sadd("myset", "1", "2", "3", "4", "5");
jedis.sadd("myset2", "1", "2","4","9");
jedis.sadd("myset3", "1","4","5", "6");
/**
* 示例1: 相当于执行 sinter 多个set的key
*/
Set<String> sinter = jedis.sinter("myset", "myset2");
System.out.println("sinter = " + sinter); Set<String> sinter2 = jedis.sinter("myset", "myset2","myset3");
System.out.println("sinter2 = " + sinter2); /**
* 示例2: 相当于执行 sinterstore 存放结果的key 多个set的key
*/ Long sinterstore = jedis.sinterstore("myset4", "myset","myset2");
System.out.println("sinterstore = " + sinterstore);
Set<String> myset4 = jedis.smembers("myset4");
System.out.println("myset4 = " + myset4);
}
}


import redis.clients.jedis.Jedis; import java.util.Set; /**
* redis中对于set类型的:
* sunion:并集。格式是:sunion 多个set的key
* sunionstore:并集并保留结果。格式是:sunionstore 存放结果的set的key 多个set的key
*/
public class Set_sunion_sunionstore_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379); jedis.sadd("myset", "1", "2", "3", "4", "5");
jedis.sadd("myset2", "1", "2","9");
jedis.sadd("myset3", "5", "6"); /**
* 示例1: 相当于执行 sunion 多个set的key
*/
Set<String> sunion = jedis.sunion("myset", "myset2");
System.out.println("sunion = " + sunion); Set<String> sunion2 = jedis.sunion("myset", "myset2","myset3");
System.out.println("sunion2 = " + sunion2); /**
* 示例2: 相当于执行 sunionstore 存放结果的set的key 多个set的key
*/
Long sunionstore = jedis.sunionstore("myset4", "myset", "myset2");
System.out.println("sunionstore = " + sunionstore);
Set<String> myset4 = jedis.smembers("myset4");
System.out.println("myset4 = " + myset4);
}
}

5、Redis中对Set类型的操作命令的更多相关文章
- 6、Redis中对Hash类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...
- 4、Redis中对List类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...
- 7、Redis中对ZSet类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ---------- ...
- 3、Redis中对String类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...
- Python(Redis 中 Set/Zset 类型数据和其他操作)
1.redis 基本操作命令 Set 操作 Set 集合就是不允许重复的列表 无序集合 sadd(name,values) 给 name 对应的集合中添加 1 个或多个元素 import redis ...
- Redis中一个String类型引发的惨案
曾经看到这么一个案例,有一个团队需要开发一个图片存储系统,要求这个系统能快速记录图片ID和图片存储对象ID,同时还需要能够根据图片的ID快速找到图片存储对象ID.我们假设用10位数来表示 ...
- redis中对list类型某个元素的查找和删除
我们的信息都是放到redis的缓存中,结构为list,如果知道特定的值的话,通过LREM key count value这样就可以.对于redis的list结构,获取某个位置的值通过 LINDE ...
- redis中各种数据类型对应的jedis操作命令
redis中各种数据类型对应的jedis操作命令 一.常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 ...
- Redis 中 String 类型的内存开销比较大
使用 String 类型内存开销大 1.简单动态字符串 2.RedisObject 3.全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保 ...
随机推荐
- 使用postman做接口测试(一)
参考大神的总结:https://www.cnblogs.com/Skyyj/p/6856728.html 一,先了解一下基础知识,虽然工作中没什么卵用,但背会了,可以显摆自己很专业的样子,以下内容来自 ...
- Awk基础
Awk文本处理 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.awk数据可以来自标准输入.一个或多个文件,或其它命令的输出.awk通常是配合脚本进行使用, 是一个强大的文本处 ...
- Python subprocess- call、check_call、check_output
简介 subprocess模块用来创建新的进程,连接到其stdin.stdout.stderr管道并获取它们的返回码.subprocess模块的出现是为了替代如下旧模块及函数:os.system.os ...
- (一)问候 HtmlUnit
第一节: HtmlUnit 简介 htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容.项目可以模拟浏览器运行,被誉为java浏览器的开源实 ...
- class getConstructor newinstance
public static void main(String[] args) throws Exception{ /**获取String对象指定的构造方法(通过方法的参数类型,传递 参数的 Class ...
- win7下weblogic安装与部署项目调试记录
下载 weblogic12c, 官网下载通用版本 安装 略 下载jdk jdk所有版本连接 http://www.oracle.com/technetwork/java/archive-13921 ...
- Java输出文件到本地(输出流)
package cn.buaa; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; im ...
- hdu 3537 翻硬币 每次能翻1个 或2个 或3个
N 枚硬币排成一排,有的正面朝上,有的反面朝上.我们从左开始对硬币按1 到N 编号. 第一,游戏者根据某些约束翻硬币,但他所翻动的硬币中,最右边那个硬币的必须是从正面翻到反面. 第二,谁不能翻谁输. ...
- information that should help you find out what is causing the crash.
091130 11:16:11 - mysqld got exception 0xc0000005 ; This could be because you hit a bug. It is also ...
- 【58沈剑架构系列】互联网公司为啥不使用mysql分区表?
缘起:有个朋友问我分区表在58的应用,我回答不出来,在我印象中,百度.58都没有听说有分区表相关的应用,业内进行一些技术交流的时候也更多的是自己分库分表,而不是使用分区表.于是去网上查了一下,并询问了 ...