[java] view plain copy
  1. /**
  2. * @author jackson
  3. * @date 2015-12-21 上午10:54:49
  4. * @return void
  5. */
  6. @Test
  7. public void jedisSet(){
  8. //sadd  去除重复的元素
  9. jedis.sadd("jedisSet", "1 2 3 4 5 5".split(" "));
  10. Set<String> s = jedis.smembers("jedisSet"); // 返回集合中的所有元素
  11. System.out.println("sadd 返回值:"+s);//返回值:[1, 2, 3, 4, 5]
  12. //scard 返回集合中元素的个数 当key 不存在时返回 0
  13. long n = jedis.scard("jedisSet");// 返回集合中元素的个数 当key 不存在时返回 0
  14. System.out.println("jedisSet 集合中元素的个数:"+n);
  15. //sdiff  返回给定的几个集合的差集
  16. jedis.sadd("jedisSet1", "1 2 3 4 5 5".split(" "));
  17. jedis.sadd("jedisSet2", "5 6 7 8".split(" "));
  18. s = jedis.sdiff("jedisSet1 jedisSet2".split(" "));
  19. System.out.println("返回给定的几个集合的差集: "+s);
  20. //sdiffstore 类似于 sdiff命令,将结果集放入了给定的集合中,返回给定集合的长度 如果给定集合已经存在则对其进行覆盖
  21. n = jedis.sdiffstore("jedisSet3", "jedisSet1 jedisSet2".split(" "));
  22. s = jedis.smembers("jedisSet3"); // 返回集合中的所有元素
  23. System.out.println("存放差集集合的长度:"+n + "差集结果集:"+s);
  24. //sinter 返回所有给定集合的交集
  25. s= jedis.sinter("jedisSet1 jedisSet2".split(" "));
  26. System.out.println("返回给定的几个集合的交集: "+s);
  27. //sinterstore 类似于 sinter命令,将结果集放入了给定的集合中,返回给定集合的长度 如果给定集合已经存在则对其进行覆盖
  28. n = jedis.sinterstore("jedisSet4", "jedisSet1 jedisSet2".split(" "));
  29. s = jedis.smembers("jedisSet4"); // 返回集合中的所有元素
  30. System.out.println("存放交集集合的长度:"+n + "交集结果集:"+s);
  31. //sismember 判断 某个 成员是否在 某个key中  返回 true 或 false
  32. jedis.sadd("jedisSet5", "r t d s e t".split(" "));
  33. Boolean flag = jedis.sismember("jedisSet5", "r");
  34. System.out.println("判断 某个 成员是否在 某个key中"+flag);
  35. //smvoe  将  集合srckey中的成员 移动到dstkey  原则:集合中的元素不重复
  36. jedis.sadd("jedisSet6", "啊 的 额 人 他 去 就 哦".split(" "));
  37. jedis.sadd("jedisSet7", "l d e q f j".split(" "));
  38. n = jedis.smove("jedisSet6", "jedisSet7", "啊");
  39. Set<String> sSet = jedis.smembers("jedisSet6"); // 返回集合中的所有元素
  40. Set<String> dSet = jedis.smembers("jedisSet7"); // 返回集合中的所有元素
  41. System.out.println("成功1 失败0 "+n+" 源集合 "+sSet+" 目标集合"+dSet);//源集合 [哦, 的, 去, 他, 就, 额, 人] 目标集合[d, e, 啊, l, j, q, f]
  42. //spop 随机移除集合中的元素并返回
  43. jedis.sadd("jedisSet8", "啊 的 额 人 他 去 就 哦".split(" "));
  44. String s8 = jedis.spop("jedisSet8");//移除并返回集合中的一个随机元素。
  45. Set<String> jedisSet8 = jedis.smembers("jedisSet8"); // 返回集合中的所有元素
  46. System.out.println(s8+" "+jedisSet8);
  47. //srandmember(key) 随机返回集合中的一个元素,不删除
  48. jedis.sadd("jedisSet9", "啊 的 额 人 他 去 就 哦".split(" "));
  49. String s9 = jedis.srandmember("jedisSet9");
  50. Set<String> jedisSet9 = jedis.smembers("jedisSet9"); // 返回集合中的所有元素
  51. System.out.println(s9+" "+jedisSet9);
  52. //srandmember(key,count) 随机返回集合中的一个元素,不删除,count > 0 返回指定个数的集合元素,不重复,如果count 大于集合的长度,那只返回整个集合
  53. jedis.sadd("jedisSet10", "啊 的 额 人 他 去 就 哦".split(" "));
  54. List<String> setList = jedis.srandmember("jedisSet10",10);
  55. Set<String> jedisSet10 = jedis.smembers("jedisSet10"); // 返回集合中的所有元素
  56. System.out.println("集合中的值:"+jedisSet10+" 随机返回的集合: "+setList);//集合中的值:[哦, 啊, 的, 去, 他, 就, 额, 人] 随机返回的集合: [哦, 啊, 的, 去, 他, 额, 就, 人]
  57. jedis.sadd("jedisSet11", "啊 的 额 人 他 去 就 哦".split(" "));
  58. List<String> setListf = jedis.srandmember("jedisSet11",-10);//count < 0 随机返回 指定count 绝对值个元素,如果大于集合长度,则继续返回,允许重复,
  59. Set<String> jedisSet11 = jedis.smembers("jedisSet11"); // 返回集合中的所有元素
  60. System.out.println("集合中的值:"+jedisSet11+" 随机返回的集合: "+setListf);//集合中的值:[哦, 啊, 的, 去, 他, 就, 额, 人] 随机返回的集合: [哦, 额, 的, 哦, 的, 他, 人, 人, 哦, 的]
  61. //srem  移除集合key 中的一个或多个member 元素,不存在的member 元素会被忽略。当key 不是集合类型,返回一个错误。
  62. jedis.sadd("jedisSet12", "啊 的 额 人 他 去 就 哦".split(" "));
  63. Set<String> jedisSet12bef = jedis.smembers("jedisSet12"); // 返回集合中的所有元素
  64. n = jedis.srem("jedisSet12", "啊 的 额 人 ".split(" "));// n = 4 表示移除成功元素的个数
  65. Set<String> jedisSet12after = jedis.smembers("jedisSet12"); // 返回集合中的所有元素
  66. System.out.println(n+" jedisSet12 移除前key中的元素: "+jedisSet12bef+"jedisSet12 移除后key中的元素: "+jedisSet12after);//4 jedisSet12 移除前key中的元素: [哦, 啊, 的, 去, 他, 就, 额, 人]jedisSet12 移除后key中的元素: [哦, 去, 他, 就]
  67. //SUNION 返回几个集合的并集
  68. jedis.sadd("jedisSet13", "啊 的 额 人 他 去 就 哦".split(" "));
  69. jedis.sadd("jedisSet14", "1 2 3 4".split(" "));
  70. Set<String> sunionSet = jedis.sunion("jedisSet13 jedisSet14".split(" "));
  71. System.out.println("jedisSet13  jedisSet14并集:"+sunionSet);
  72. //sunionstore
  73. n = jedis.sunionstore("jedisSet15", "jedisSet13 jedisSet14".split(" "));// 返回并集集合的长度
  74. sunionSet = jedis.smembers("jedisSet15");
  75. System.out.println(n+ " jedisSet13  jedisSet14并集:"+sunionSet);
  76. //sscan 详细信息请参考SCAN 命令。
  77. }

Redis入门之 redis set集合的操作相关推荐

  1. 超详细Redis入门教程——Redis命令(下)

    前言 本文小新为大家带来 超详细Redis入门教程--Redis命令 相关知识,具体内容包括简单动态字符串 SDS,集合的底层实现原理,BitMap 操作命令,HyperLogLog 操作命令,Geo ...

  2. 超详细Redis入门教程——Redis命令(上)

    前言 本文小新为大家带来 超详细Redis入门教程--Redis命令(上) 相关知识,具体内容包括Redis 基本命令,Key 操作命令,String 型 Value 操作命令,Hash 型 Valu ...

  3. 超详细Redis入门教程——Redis概述

    前言 本文小新为大家带来 超详细Redis入门教程--Redis概述 相关知识,具体内容包括Redis简介,Redis的用途,Redis的特性,Redis的IO模型(包括:单线程模型,混合线程模型,多 ...

  4. 超详细Redis入门教程——Redis 的安装与配置

    前言 本文小新为大家带来 超详细Redis入门教程--Redis 的安装与配置 相关知识,具体内容包括Redis 的安装,连接前的配置,Redis 客户端分类(包括:命令行客户端,图形界面客户端,Ja ...

  5. Redis入门之Redis安装、配置及常用指令

    Redis入门 NoSQL 引言 为什么使用 NoSQL? NoSQL 的四大分类(键值.列存储.文档.图形) NoSQL 应用场景 Redis 介绍 Redis 安装 与 配置 Redis 启动服务 ...

  6. Redis入门,Redis的安装

    Redis(Remote Dictionary Server)远程字典服务,是一个开源的使用C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,既然是由C语言编写,那么他就需 ...

  7. Redis入门——3.Redis key的设计技巧

    Redis key的设计技巧 一,key设计原则 把表名转换为key前缀, 比如: tag: 第二段放置用于区分key的字段–对应mysql中的主键的列名 第三段放置主键值 第三段写列名 二,案例 用 ...

  8. 【Redis数据库 第1章】Redis入门、Redis下载与安装、Redis客户端、redis的数据类型

    文章目录

  9. redis入门——安装篇

    redis入门--安装篇 @(Redis)[redis, 入门, 安装] redis入门安装篇 Redis基本介绍 redis的安装 windows版 mac版 linux版 redis的启动以lin ...

最新文章

  1. vmware workstation使用方法
  2. commons-io_从Commons CLI迁移到picocli
  3. 使用Lucene开发自己的搜索引擎
  4. 妙用Windows安全模式执行杀毒
  5. oracle 如何边看表中字段信息_【Oracle移行到Sqlserver完美解决案】④sqluldr2+bulk 32H=3H...
  6. RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”...
  7. mysql_close6_关于mysql_close()函数的10篇文章推荐
  8. 窗函数性能分析——MATLAB
  9. python 抢票代码 猫眼演出_python爬虫实例-猫眼电影
  10. Java基础学习总结(66)——配置管理库typesafe.config教程
  11. php _runmagicquotes,PHP关于magic quotes的理解
  12. c#中params关键字应用
  13. 响应其他应用程序的系统菜单消息 insertmenu_「DDD」跟我一起学WCF(1)——MSMQ消息队列...
  14. postgres常用命令
  15. 保护MySQL数据仓库的5个小技巧
  16. [优化算法] 拉丁超立方采样与基于优化的均匀采样
  17. 含泪整理最优质QuickTime软件插件素材,你想要的这里都有
  18. CMWAP和CMNET 的主要区别与适用范围
  19. 从微信打开链接不能正常上下滑动
  20. 学计算机Java和c语言哪个出路比较好

热门文章

  1. 世界大学生超算竞赛正式启动,再次引发全球关注
  2. Android 实现图片画画板
  3. IOS-程序员和设计师必备的20个CSS工具
  4. .NET动态调用WebService
  5. 查询mysql所有表的大小
  6. 思科警告:这个 IOS XR 0day 已遭利用,目前尚无补丁
  7. 新型 JhoneRAT 恶意软件攻击中东地区
  8. Linux上 MongoDB 实现远程连接并设置账号密码
  9. 数据库:数据导入/数据导出
  10. 初始----python数字图像处理--:环境安装与配置