(六)Redis之数据结构之Set
一、常用方法
- 和List类型不同的是,Set集合中不允许出现重复的元素
- 添加/删除元素
- 获取集合中的元素
- 集合中的差集运算
- 集合中的交集运算
- 集合中的并集元算
- 扩展命令
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的更多相关文章
- Redis学习——数据结构介绍(四)
一.简介 作为一款key-value 的NoSQL数据库,Redis支持的数据结构比较丰富,有:String(字符串) .List(列表) .Set(集合) .Hash(哈希) .Zset(有序集合) ...
- 探索Redis设计与实现6:Redis内部数据结构详解——skiplist
本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...
- 【转】Redis内部数据结构详解 -- skiplist
本文是<Redis内部数据结构详解>系列的第六篇.在本文中,我们围绕一个Redis的内部数据结构--skiplist展开讨论. Redis里面使用skiplist是为了实现sorted s ...
- redis基础数据结构及编码方式
redis基础数据结构和编码方式 一.基础数据结构 1)简单动态字符串 2)双端链表 3)字典 4)跳跃表 5)整数集合 6)压缩列表 二.对象类型与编码 在redis的数据库中创建一个新的键值对时, ...
- Redis底层数据结构详解
上一篇说了Redis有五种数据类型,今天就来聊一下Redis底层的数据结构是什么样的.是这一周看了<redis设计与实现>一书,现来总结一下.(看书总是非常烦躁的!) Redis是由C语言 ...
- Redis基本数据结构总结之STRING和LIST
Redis基本数据结构总结前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我们 ...
- Redis基本数据结构总结之SET、ZSET和HASH
Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...
- Redis各种数据结构性能数据对比和性能优化实践
很对不起大家,又是一篇乱序的文章,但是满满的干货,来源于实践,相信大家会有所收获.里面穿插一些感悟和生活故事,可以忽略不看.不过听大家普遍的反馈说这是其中最喜欢看的部分,好吧,就当学习之后轻松一下. ...
- 聊一聊Redis的数据结构
如果没有记错的话,应该是在两个月前把 我们经常看到此类的文章: Redis的五种数据结构 Redis的数据结构以及对应的使用场景 其实以数据结构这个词去说明Redis的String.Hash.List ...
- Redis常用数据结构
Redis常用数据结构包括字符串(strings),列表(lists),哈希(hashes),集合(sets),有序集合(sorted sets). redis的key最大不能超过512M,可通过re ...
随机推荐
- rpm包和deb分别是什么?
一.RMP 是 LINUX 下的一种软件的可执行程序,你只要安装它就可以了.这种软件安装包通常是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀 ...
- vuecli3集成easyui
思路是这样的,首先要将jquery设置成全局,然后就可以正常使用easyUI了. jquery安装命令: npm install --save jquery jquery-easyui安装命令: np ...
- pgpool-II 高可用搭建
pgpool-II主备流复制的架设1.环境 OS: CentOS release 6.4 (Final)DB: postgresql 9.3.6pgpool服务器: pgpool 172.16.0.2 ...
- 解决Visual Studio:"无法导入以下密钥文件: xxxx.pfx,该密钥文件可能受密码保护"
[解决方法] 从开始菜单找到并打开Visual Studio 命令提示(2010):开始->Microsoft Visual Studio 2010->Visual Studio Tool ...
- <JavaScript>使用onmousemove事件实现移动(拖拽)div 出现的关于offsetX的问题
出现的问题如下图所示(截屏看不出来看log) 再移动鼠标的过程中会不断的出现异常值导致拖动的div不断切换位置,回到左上角. 我以为是冒泡机制导致的所以添加了下面一段阻止冒泡,随便也阻止了默认事件,但 ...
- 机器学习 - 算法示例 - Xgboost
安装 能直接安装就再好不过 pip install xgboost 如果不能就下载之后本地安装 安装包下载地址 这里 想要啥包都有 数据集 pima-indians-diabetes.csv 文件 调 ...
- HTML5 地理位置定位API(2)
HTML5 Geolocation API (地理位置应用程序接口) 目前PC浏览器支持情况: Firefox 3.5+Chrome 5.0+Safari 5.0+Opera 10.60+Intern ...
- python中pop(),popitem()的整理
在python中,列表,字典,有序字典的删除操作有些凌乱,所以决定记录下,以便以后用乱了. 列表: 列表删除有三种方式: l.pop() l.remove() del l[3:8] 已下面的code为 ...
- Flutter 踩坑之build函数返回了null
今天遇到一个bug,内容都正常显示没问题,但是控制台里报错,如图: 翻译了下,说是函数不能返回空值,搜索了下,网上相同问题的是少写了个return,我检查了下也没发现少return的,后来突然发现if ...
- c#关于Dictionary中自定义Key
Dictionary 描述 字典 Dictionary 通过 Hash 桶算法进行O(1)查找数据,在 Hash 碰撞达到一定次数后会自动进行 Resize,也会在数组大小不足的时候会自动进行Resi ...