Redis入门之 redis set集合的操作
- /**
- * @author jackson
- * @date 2015-12-21 上午10:54:49
- * @return void
- */
- @Test
- public void jedisSet(){
- //sadd 去除重复的元素
- jedis.sadd("jedisSet", "1 2 3 4 5 5".split(" "));
- Set<String> s = jedis.smembers("jedisSet"); // 返回集合中的所有元素
- System.out.println("sadd 返回值:"+s);//返回值:[1, 2, 3, 4, 5]
- //scard 返回集合中元素的个数 当key 不存在时返回 0
- long n = jedis.scard("jedisSet");// 返回集合中元素的个数 当key 不存在时返回 0
- System.out.println("jedisSet 集合中元素的个数:"+n);
- //sdiff 返回给定的几个集合的差集
- jedis.sadd("jedisSet1", "1 2 3 4 5 5".split(" "));
- jedis.sadd("jedisSet2", "5 6 7 8".split(" "));
- s = jedis.sdiff("jedisSet1 jedisSet2".split(" "));
- System.out.println("返回给定的几个集合的差集: "+s);
- //sdiffstore 类似于 sdiff命令,将结果集放入了给定的集合中,返回给定集合的长度 如果给定集合已经存在则对其进行覆盖
- n = jedis.sdiffstore("jedisSet3", "jedisSet1 jedisSet2".split(" "));
- s = jedis.smembers("jedisSet3"); // 返回集合中的所有元素
- System.out.println("存放差集集合的长度:"+n + "差集结果集:"+s);
- //sinter 返回所有给定集合的交集
- s= jedis.sinter("jedisSet1 jedisSet2".split(" "));
- System.out.println("返回给定的几个集合的交集: "+s);
- //sinterstore 类似于 sinter命令,将结果集放入了给定的集合中,返回给定集合的长度 如果给定集合已经存在则对其进行覆盖
- n = jedis.sinterstore("jedisSet4", "jedisSet1 jedisSet2".split(" "));
- s = jedis.smembers("jedisSet4"); // 返回集合中的所有元素
- System.out.println("存放交集集合的长度:"+n + "交集结果集:"+s);
- //sismember 判断 某个 成员是否在 某个key中 返回 true 或 false
- jedis.sadd("jedisSet5", "r t d s e t".split(" "));
- Boolean flag = jedis.sismember("jedisSet5", "r");
- System.out.println("判断 某个 成员是否在 某个key中"+flag);
- //smvoe 将 集合srckey中的成员 移动到dstkey 原则:集合中的元素不重复
- jedis.sadd("jedisSet6", "啊 的 额 人 他 去 就 哦".split(" "));
- jedis.sadd("jedisSet7", "l d e q f j".split(" "));
- n = jedis.smove("jedisSet6", "jedisSet7", "啊");
- Set<String> sSet = jedis.smembers("jedisSet6"); // 返回集合中的所有元素
- Set<String> dSet = jedis.smembers("jedisSet7"); // 返回集合中的所有元素
- System.out.println("成功1 失败0 "+n+" 源集合 "+sSet+" 目标集合"+dSet);//源集合 [哦, 的, 去, 他, 就, 额, 人] 目标集合[d, e, 啊, l, j, q, f]
- //spop 随机移除集合中的元素并返回
- jedis.sadd("jedisSet8", "啊 的 额 人 他 去 就 哦".split(" "));
- String s8 = jedis.spop("jedisSet8");//移除并返回集合中的一个随机元素。
- Set<String> jedisSet8 = jedis.smembers("jedisSet8"); // 返回集合中的所有元素
- System.out.println(s8+" "+jedisSet8);
- //srandmember(key) 随机返回集合中的一个元素,不删除
- jedis.sadd("jedisSet9", "啊 的 额 人 他 去 就 哦".split(" "));
- String s9 = jedis.srandmember("jedisSet9");
- Set<String> jedisSet9 = jedis.smembers("jedisSet9"); // 返回集合中的所有元素
- System.out.println(s9+" "+jedisSet9);
- //srandmember(key,count) 随机返回集合中的一个元素,不删除,count > 0 返回指定个数的集合元素,不重复,如果count 大于集合的长度,那只返回整个集合
- jedis.sadd("jedisSet10", "啊 的 额 人 他 去 就 哦".split(" "));
- List<String> setList = jedis.srandmember("jedisSet10",10);
- Set<String> jedisSet10 = jedis.smembers("jedisSet10"); // 返回集合中的所有元素
- System.out.println("集合中的值:"+jedisSet10+" 随机返回的集合: "+setList);//集合中的值:[哦, 啊, 的, 去, 他, 就, 额, 人] 随机返回的集合: [哦, 啊, 的, 去, 他, 额, 就, 人]
- jedis.sadd("jedisSet11", "啊 的 额 人 他 去 就 哦".split(" "));
- List<String> setListf = jedis.srandmember("jedisSet11",-10);//count < 0 随机返回 指定count 绝对值个元素,如果大于集合长度,则继续返回,允许重复,
- Set<String> jedisSet11 = jedis.smembers("jedisSet11"); // 返回集合中的所有元素
- System.out.println("集合中的值:"+jedisSet11+" 随机返回的集合: "+setListf);//集合中的值:[哦, 啊, 的, 去, 他, 就, 额, 人] 随机返回的集合: [哦, 额, 的, 哦, 的, 他, 人, 人, 哦, 的]
- //srem 移除集合key 中的一个或多个member 元素,不存在的member 元素会被忽略。当key 不是集合类型,返回一个错误。
- jedis.sadd("jedisSet12", "啊 的 额 人 他 去 就 哦".split(" "));
- Set<String> jedisSet12bef = jedis.smembers("jedisSet12"); // 返回集合中的所有元素
- n = jedis.srem("jedisSet12", "啊 的 额 人 ".split(" "));// n = 4 表示移除成功元素的个数
- Set<String> jedisSet12after = jedis.smembers("jedisSet12"); // 返回集合中的所有元素
- System.out.println(n+" jedisSet12 移除前key中的元素: "+jedisSet12bef+"jedisSet12 移除后key中的元素: "+jedisSet12after);//4 jedisSet12 移除前key中的元素: [哦, 啊, 的, 去, 他, 就, 额, 人]jedisSet12 移除后key中的元素: [哦, 去, 他, 就]
- //SUNION 返回几个集合的并集
- jedis.sadd("jedisSet13", "啊 的 额 人 他 去 就 哦".split(" "));
- jedis.sadd("jedisSet14", "1 2 3 4".split(" "));
- Set<String> sunionSet = jedis.sunion("jedisSet13 jedisSet14".split(" "));
- System.out.println("jedisSet13 jedisSet14并集:"+sunionSet);
- //sunionstore
- n = jedis.sunionstore("jedisSet15", "jedisSet13 jedisSet14".split(" "));// 返回并集集合的长度
- sunionSet = jedis.smembers("jedisSet15");
- System.out.println(n+ " jedisSet13 jedisSet14并集:"+sunionSet);
- //sscan 详细信息请参考SCAN 命令。
- }
Redis入门之 redis set集合的操作相关推荐
- 超详细Redis入门教程——Redis命令(下)
前言 本文小新为大家带来 超详细Redis入门教程--Redis命令 相关知识,具体内容包括简单动态字符串 SDS,集合的底层实现原理,BitMap 操作命令,HyperLogLog 操作命令,Geo ...
- 超详细Redis入门教程——Redis命令(上)
前言 本文小新为大家带来 超详细Redis入门教程--Redis命令(上) 相关知识,具体内容包括Redis 基本命令,Key 操作命令,String 型 Value 操作命令,Hash 型 Valu ...
- 超详细Redis入门教程——Redis概述
前言 本文小新为大家带来 超详细Redis入门教程--Redis概述 相关知识,具体内容包括Redis简介,Redis的用途,Redis的特性,Redis的IO模型(包括:单线程模型,混合线程模型,多 ...
- 超详细Redis入门教程——Redis 的安装与配置
前言 本文小新为大家带来 超详细Redis入门教程--Redis 的安装与配置 相关知识,具体内容包括Redis 的安装,连接前的配置,Redis 客户端分类(包括:命令行客户端,图形界面客户端,Ja ...
- Redis入门之Redis安装、配置及常用指令
Redis入门 NoSQL 引言 为什么使用 NoSQL? NoSQL 的四大分类(键值.列存储.文档.图形) NoSQL 应用场景 Redis 介绍 Redis 安装 与 配置 Redis 启动服务 ...
- Redis入门,Redis的安装
Redis(Remote Dictionary Server)远程字典服务,是一个开源的使用C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,既然是由C语言编写,那么他就需 ...
- Redis入门——3.Redis key的设计技巧
Redis key的设计技巧 一,key设计原则 把表名转换为key前缀, 比如: tag: 第二段放置用于区分key的字段–对应mysql中的主键的列名 第三段放置主键值 第三段写列名 二,案例 用 ...
- 【Redis数据库 第1章】Redis入门、Redis下载与安装、Redis客户端、redis的数据类型
文章目录
- redis入门——安装篇
redis入门--安装篇 @(Redis)[redis, 入门, 安装] redis入门安装篇 Redis基本介绍 redis的安装 windows版 mac版 linux版 redis的启动以lin ...
最新文章
- vmware workstation使用方法
- commons-io_从Commons CLI迁移到picocli
- 使用Lucene开发自己的搜索引擎
- 妙用Windows安全模式执行杀毒
- oracle 如何边看表中字段信息_【Oracle移行到Sqlserver完美解决案】④sqluldr2+bulk 32H=3H...
- RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”...
- mysql_close6_关于mysql_close()函数的10篇文章推荐
- 窗函数性能分析——MATLAB
- python 抢票代码 猫眼演出_python爬虫实例-猫眼电影
- Java基础学习总结(66)——配置管理库typesafe.config教程
- php _runmagicquotes,PHP关于magic quotes的理解
- c#中params关键字应用
- 响应其他应用程序的系统菜单消息 insertmenu_「DDD」跟我一起学WCF(1)——MSMQ消息队列...
- postgres常用命令
- 保护MySQL数据仓库的5个小技巧
- [优化算法] 拉丁超立方采样与基于优化的均匀采样
- 含泪整理最优质QuickTime软件插件素材,你想要的这里都有
- CMWAP和CMNET 的主要区别与适用范围
- 从微信打开链接不能正常上下滑动
- 学计算机Java和c语言哪个出路比较好