写在前面的话:读书破万卷,编码如有神
--------------------------------------------------------------------
--------------------------------------------------------------------
1、对Set类型的操作命令
1.1、sadd:添加元素,格式是:sadd set的key item的项值,item项可以有多个。
操作如下:
java示例代码:
 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);
}
}
1.2、smembers:获取集合中所有元素,格式是:smembers set的key
操作如下:
java示例代码:
 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);
}
}
1.3、sismember:判断元素是否在集合中,格式是:sismember set的key item的项值
操作如下:
java示例代码:
 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);
}
}
1.4、srem:删除元素,格式是:srem set的key item项的值

操作如下:
java示例代码:
 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

操作如下:
java示例代码:
 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[数量]。(数量为正数时,会随机获取这么多个不重复的元素;如果数量大于集合元素个数,返回全部;如果数量为负,会随机获取这么多个元素,可能有重复。)

操作如下:
java示例代码:
 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); }
}
1.7、spop:弹出元素,格式是:spop set的key
操作如下:
java示例代码:
 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);
}
}
1.8、smove:移动元素。格式是:smove 源set的key 目的set的key item项的值 (ps:一次只能移动一个item)
操作如下:
java示例代码:
 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); }
}
1.9、sdiff:差集,返回在第一个set里面而不在后面任何一个set里面的项。格式是:sdiff set的key 用来比较的多个set的key
操作如下:
java示例代码:
 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

操作如下:
1.11、sinter:交集,返回多个set里面都有的项。格式是:sinter 多个set的key 
操作如下:
java示例代码:
 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);
}
}
1.12、sinterstore:交集并保留结果。格式是:sinterstore 存放结果的key 多个set的key
操作如下:
1.13、sunion:并集。格式是:sunion 多个set的key
操作如下:
java示例代码:
 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);
}
}
1.14、sunionstore:并集并保留结果。格式是:sunionstore 存放结果的set的key 多个set的key
操作如下:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

5、Redis中对Set类型的操作命令的更多相关文章

  1. 6、Redis中对Hash类型的操作命令

    写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...

  2. 4、Redis中对List类型的操作命令

    写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...

  3. 7、Redis中对ZSet类型的操作命令

    写在前面的话:读书破万卷,编码如有神 --------------------------------------------------------------------   ---------- ...

  4. 3、Redis中对String类型的操作命令

    写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...

  5. Python(Redis 中 Set/Zset 类型数据和其他操作)

    1.redis 基本操作命令 Set 操作 Set 集合就是不允许重复的列表 无序集合 sadd(name,values) 给 name 对应的集合中添加 1 个或多个元素 import redis ...

  6. Redis中一个String类型引发的惨案

    ​      曾经看到这么一个案例,有一个团队需要开发一个图片存储系统,要求这个系统能快速记录图片ID和图片存储对象ID,同时还需要能够根据图片的ID快速找到图片存储对象ID.我们假设用10位数来表示 ...

  7. redis中对list类型某个元素的查找和删除

    我们的信息都是放到redis的缓存中,结构为list,如果知道特定的值的话,通过LREM  key  count  value这样就可以.对于redis的list结构,获取某个位置的值通过 LINDE ...

  8. redis中各种数据类型对应的jedis操作命令

    redis中各种数据类型对应的jedis操作命令 一.常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 ...

  9. Redis 中 String 类型的内存开销比较大

    使用 String 类型内存开销大 1.简单动态字符串 2.RedisObject 3.全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保 ...

随机推荐

  1. static, const 和 static const 变量的初始化问题

    const 常量的在超出其作用域的时候会被释放,但是 static 静态变量在其作用域之外并没有释放,只是不能访问. static 修饰的是静态变量,静态函数.对于类来说,静态成员和静态函数是属于整个 ...

  2. js API

    从基础知识JS-web-API js基础知识:ECMA 262标准 js-web-API: w3c标准 W3c标准中关于js的规定有 DOM操作.BOM操作.事件绑定.ajax请求(包括http协议) ...

  3. go语言项目汇总

    Horst Rutter edited this page 7 days ago · 529 revisions Indexes and search engines These sites prov ...

  4. Mac ssh

    mac的终端默认在打开一个新的tab/window的时候需要重新输入ssh的密码, 很不方便.本文完成在mac中设置,实现secureCRT/xshell里的克隆会话功能, 即新开一个terminal ...

  5. JZOJ1517. 背包问题

    这个题,乍一看感觉挺神的(其实真挺神的),其实是个简单的分组背包(如果恍然大悟就不用接着看了) 取连续的一段是这道题最难以处理的地方,但是观察到物品数量不多<=100(如果恍然大悟就不用接着看了 ...

  6. jQuery使用JSONP时的错误处理

    概述 什么是域,简单来说就是协议+域名或地址+端口,3者只要有任何一个不同就表示不在同一个域.跨域,就是在一个域中访问另一个域的数据. 如果只是加载另一个域的内容,而不需要访问其中的数据的话,跨域是很 ...

  7. Filebeat入门

    一.安装filebeat 简介 Beats 是安装在服务器上的数据中转代理. Beats 可以将数据直接传输到 Elasticsearch 或传输到 Logstash . Beats 有多种类型,可以 ...

  8. 20155225 实验一《Java开发环境的熟悉》实验报告

    20155225 实验一<Java开发环境的熟悉>实验报告 一.命令行下Java程序的开发 按照老师提供的步骤,运行程序如下: 二.IDEA下Java程序开发.调试 设置条件断点如下: 三 ...

  9. Jquery Datatable自动生成序号

    公司项目里,使用的是jquerydatatable框架来展示数据的,在使用的时候遇到一个问题,就是要自动生成序号,且在分页的时候,下一页的序号紧跟着前一页的序号,下面是代码: "fnDraw ...

  10. MEF实现设计上的“松耦合”(三)

    1.面向接口编程:有一定编程经验的博友应该都熟悉或者了解这种编程思想,层和层之间通过接口依赖,下层不是直接给上层提供服务,而是定义一组接口供上层调用.至于具体的业务实现,那是开发中需要做的事情,在项目 ...