一、常用方法

  • 和List类型不同的是,Set集合中不允许出现重复的元素
  1. 添加/删除元素
  2. 获取集合中的元素
  3. 集合中的差集运算
  4. 集合中的交集运算
  5. 集合中的并集元算
  6. 扩展命令

  1和2  添加/删除元素和获取集合中的元素和是否该元素

package myRedis01;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set; import org.junit.After;
import org.junit.Test; import redis.clients.jedis.Jedis; public class JedisTest { Jedis jedis=new Jedis("127.0.0.1",6379); // 创建客户端 设置IP和端口 /**
* 添加/删除元素
*/
@Test
public void addAndDel() {
/**
* set中添加和获取
*/
jedis.sadd("set1","a","b","c");
jedis.sadd("set1","a","d","e"); System.out.println("不会出现重复的元素:"+"\t"+jedis.smembers("set1")); /**
* 删除元素
*/
jedis.srem("set1", "d","e");
System.out.println("删除两个元素后:"+"\t"+jedis.smembers("set1")); /**
* 判断某个元素是否存在
*/
boolean flag=jedis.sismember("set1", "a");
System.out.println("是否存在该元素"+"\t"+flag); } @After
public void close() {
jedis.close();
} }

  3和4和5  计算差、交、并集

    /**
* 计算差、交、并集
*/
@Test
public void scal() { jedis.sadd("set5", "a", "b", "c");
jedis.sadd("set6", "b", "c", "d"); /**
* 差集
* jedis.sdiff("set2","set3") 结果返回set2有但是set3没有的元素
*/
Set<String> sets=jedis.sdiff("set5","set6");
System.out.println("计算差集");
for(String str:sets) {
System.out.println(str);
}
System.out.println("============"); /**
* 交集
*/
System.out.println("计算交集");
Set<String> sets2=jedis.sinter("set5","set6");
for(String str:sets2) {
System.out.println(str);
}
System.out.println("============"); /**
* 计算并集
*/
System.out.println("计算并集"); Set<String> sets3=jedis.sunion("set5","set6");
for(String str:sets3) {
System.out.println(str);
} System.out.println("============"); }

  6.  扩展命令

/**
* 扩展命令
*/
@Test
public void other() {
/**
* 计算元素总数
*/
jedis.sadd("set7", "b", "c", "d","e"); long sum=jedis.scard("set7");
System.out.println("元素总数为:"+"\t"+sum); /**
* 随机取一个元素
*/ String rand=jedis.srandmember("set7");
System.out.println("随机取一个元素"+"\t"+rand); }

(六)Redis之数据结构之Set的更多相关文章

  1. Redis学习——数据结构介绍(四)

    一.简介 作为一款key-value 的NoSQL数据库,Redis支持的数据结构比较丰富,有:String(字符串) .List(列表) .Set(集合) .Hash(哈希) .Zset(有序集合) ...

  2. 探索Redis设计与实现6:Redis内部数据结构详解——skiplist

    本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...

  3. 【转】Redis内部数据结构详解 -- skiplist

    本文是<Redis内部数据结构详解>系列的第六篇.在本文中,我们围绕一个Redis的内部数据结构--skiplist展开讨论. Redis里面使用skiplist是为了实现sorted s ...

  4. redis基础数据结构及编码方式

    redis基础数据结构和编码方式 一.基础数据结构 1)简单动态字符串 2)双端链表 3)字典 4)跳跃表 5)整数集合 6)压缩列表 二.对象类型与编码 在redis的数据库中创建一个新的键值对时, ...

  5. Redis底层数据结构详解

    上一篇说了Redis有五种数据类型,今天就来聊一下Redis底层的数据结构是什么样的.是这一周看了<redis设计与实现>一书,现来总结一下.(看书总是非常烦躁的!) Redis是由C语言 ...

  6. Redis基本数据结构总结之STRING和LIST

    Redis基本数据结构总结前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我们 ...

  7. Redis基本数据结构总结之SET、ZSET和HASH

    Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...

  8. Redis各种数据结构性能数据对比和性能优化实践

    很对不起大家,又是一篇乱序的文章,但是满满的干货,来源于实践,相信大家会有所收获.里面穿插一些感悟和生活故事,可以忽略不看.不过听大家普遍的反馈说这是其中最喜欢看的部分,好吧,就当学习之后轻松一下. ...

  9. 聊一聊Redis的数据结构

    如果没有记错的话,应该是在两个月前把 我们经常看到此类的文章: Redis的五种数据结构 Redis的数据结构以及对应的使用场景 其实以数据结构这个词去说明Redis的String.Hash.List ...

  10. Redis常用数据结构

    Redis常用数据结构包括字符串(strings),列表(lists),哈希(hashes),集合(sets),有序集合(sorted sets). redis的key最大不能超过512M,可通过re ...

随机推荐

  1. error: cannot connect to daemon解决办法

    本文链接:https://blog.csdn.net/ipinki1218/article/details/80704806运行adb shell时出现error: cannot connect to ...

  2. 面试准备4——C++相关知识

    指针和引用区别: (1)指针: 指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元: 引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已. 如: int a=1;in ...

  3. SQL-W3School-函数:SQL FORMAT() 函数

    ylbtech-SQL-W3School-函数:SQL FORMAT() 函数 1.返回顶部 1. FORMAT() 函数 FORMAT 函数用于对字段的显示进行格式化. SQL FORMAT() 语 ...

  4. js 点击列表li,获得当前li的id

    html <ul id="demo"> <li id="li-1">li1</li> <li id="li- ...

  5. QSplitter的使用案例

    #include <QApplication> #include <QSplitter> #include <QTextEdit> #include <QTe ...

  6. KDChart example

    /******************************************************************************** ** Form generated ...

  7. SpringCloud学习成长之路三 服务消费者(Feign)

    一.Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单.使用Feign,只需要创建一个接口并注解. 它具有可插拔的注解特性,可使用Feign 注解和JAX-RS ...

  8. ORM连表操作

    连表操作分为以下三种情景: 一对多:models.ForeignKey(其他表) 多对多:models.ManyToManyField(其他表) 一对一:models.OneToOneField(其他 ...

  9. 【Leetcode_easy】1078. Occurrences After Bigram

    problem 1078. Occurrences After Bigram 题意 solution: class Solution { public: vector<string> fi ...

  10. C#6.0-8.0新功能、ValueTuple

    C# 6.0: https://www.cnblogs.com/yinrq/p/5600530.html C# 7.0: https://www.cnblogs.com/cncc/p/7698543. ...