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 类型内存开销大 如果我们有大量的数据需要来保 ...
随机推荐
- Mac下破解intellij IDEA 2018
一.在进入下面网站下载破解补丁 http://idea.lanyus.com/ 二.在“应用程序”中找到已经安装的IntelliJ IDEA,在app上右键,选择“显示包内容”,如下图: 将下载的破解 ...
- Owin WebApi版本控制
public class WebApiControllerSelector : IHttpControllerSelector { private const string NamespaceKey ...
- 通过field:global给子元素添加css样式
{dede:arclist row=5 typeid=200} <li [field:global runphp=’yes’ name=autoindex](@me==1)?@me=”class ...
- Unix IPC之Posix消息队列(3)
struct mq_attr { long mq_flags; /* message queue flag : 0, O_NONBLOCK */ long mq_maxmsg; /* max numb ...
- linux 系统网卡无法识别,缺少驱动
#linux网卡驱动安装# Linux设备加载 #lsmod Module Size Used by e1000e 查看硬件设备 ls /usr/share/hwdata 查看pci网卡设备 lspc ...
- CVE-2010-0248
[CNNVD]Microsoft Internet Explorer 多个远程代码执行漏洞(CNNVD-201001-237) Microsoft Internet Explorer 6, 6 SP1 ...
- Zabbix的通知功能以及自定义脚本告警
本节内容: Zabbix的通知功能 定义接收告警的用户 定义Action Zabbix自定义脚本发送报警邮件 一.Zabbix的通知功能 在配置好监控项和触发器之后,一旦正常工作中的某触发器状态发生改 ...
- O(n log log n)实现FGT和FLT(Fast GCD/LCM Transformation)
本文是作者看不懂分治FFT之后开始娱乐一下自己写的 看到一道题时候询问了正解后,推出了一个奇怪的变换,发现这个很Transformation,我和正解推出来的奇怪的东西是一样的,但还是想写一下思路.. ...
- myql root用户远程访问
虚拟机搭建的lnmp开发环境,mysql在虚拟机正常访问,想在物理机通过数据库管理工具Navicat远程登录,方便建表查询等操作.经网上一查,有答案了. [以下是转载]http://www.cnblo ...
- oracle数据库的安装
---create group groupadd oinstallgroupadd dbagroupadd oper ------create user useradd -g oinstall -G ...