初识redis:Set类型
Set有很多种含义,比如集合,比如设置(和get相对应)。
在这里我们说的set是指的redis中的集合,并且这里的集合是无序的,和之前的list是对应的。
- List : [1,2,3] 和 [2,1,3] 是两个不同的list
- Set : [1,2,3] 和 [2,1,3] 是两个相同的集合
目录
基本操作
SADD SMEMBERS SISMEMBER
SPOP
SMOVE
SREM
交集、并集、差集
SINTER
SINTERSTORE
SUNION
SUNIONSTORE
SDIFF
SDIFFSTORE
Set的应用场景
基本操作
SADD SMEMBERS SISMEMBER
SADD:添加元素到集合中
SMEMBERS:查询集合的元素
SISMEMBER:查询某个元素是否在集合中。
SADD key member [member ...]
SMEMBERS key
SISMEMBER key
把集合中的元素叫做member,并且当出现重复的元素的时候,只算同一个元素。
SPOP
SPOP key [count]
不写count的时候,就是随机删除一个,写的时候就是写几个删除几个。并且删除的时候是随机删除元素,跟插入的顺序没有关系。
SMOVE
SMOVE source destination member
把member从source上删除,再插入到destination中。
如果要移动的数字在destination中已经有了,那么仍然会按照删除再插入的操作进行,但是插入会不会有效果。
如果要移动的数字在source中没有,会操作失败。
SREM
可以一次删除一个member,也可以一次删除多个member
SREM key member [member...]
交集、并集、差集
SINTER
求交集
SINTER key [key ...]
此处的每个key都对应一个集合,返回值就是最终交集的数据。
SINTERSTORE
直接把算好的交集,放到destination这个key对应的集合中了。
SINTERSTORE destination key [key ...]
SUNION
求并集
SUNION key [key ...]
SUNIONSTORE
和上面的一样,把并集储存到destination中。
SDIFF
求差集
SDIFF key [key ...]
返回值是差集的个数。
SDIFFSTORE
和上面的一样,把差集存储到destination中。
总结:
命令 | 时间复杂度 |
---|---|
SADD key element[element...] | O(k), k是元素个数 |
SREM key element[element...] | O(k), k是元素个数 |
SCARD key | O(1) |
SISMEMBER key element | O(1) |
SRANDMEMBER key[count] | O(n), n是count |
SPOP key[count] | O(n), n是count |
SMEMBERS key | O(k), k是元素个数 |
SINTER key[key...] SINTERSTORE | O(m*k), k是几个集合中元素最小的个数, m是 |
SUNION key[key...] SUNIONSTORE | O(k), k是多个集合的元素个数总和 |
SDIFF key[key...] SDIFFSTORE | O(k), k是多个集合的元素个数总和 |
Set的应用场景
- 使用Set来保存用户的“标签”
- 使用Set来计算用户之间的共同好友
- 使用Set统计UV(去重)
相关文章:
![](https://i-blog.csdnimg.cn/direct/d642d4151b204e2a8541e7c514be8d62.png)
初识redis:Set类型
Set有很多种含义,比如集合,比如设置(和get相对应)。 在这里我们说的set是指的redis中的集合,并且这里的集合是无序的,和之前的list是对应的。 List : [1,2,3] 和 [2,1,3] 是两个不同的listSe…...
![](https://www.ngui.cc/images/no-images.jpg)
Qt 设置QTableView的某列或某行只读
我的做法是实现一个委托(delegate),然后把它设给你要只读的列或行 class ReadOnlyDelegate: public QItemDelegate {public:ReadOnlyDelegate(QWidget *parent NULL):QItemDelegate(parent){}QWidget *createEditor(QWidget *parent, const…...
![](https://www.ngui.cc/images/no-images.jpg)
这么多焊工证,我该拥有那种焊工证呢?
焊接与切割作为特种作业工作,国家根据不同的环境和作业特点,从事焊接工作的焊工需要持证上岗工作,那么是不是焊接就只有一种工作证呢?如果不是,焊工所在的工作岗位需要什么样的焊工证,如何取得焊工证&#…...
![](https://www.ngui.cc/images/no-images.jpg)
HttpWebRequest访问https请求被中止: 未能创建 SSL/TLS 安全通道
编写代码,使用HttpWebRequest访问网页,错误提示: 未能创建 SSL/TLS 安全通道 页面本来是Http网址,突然转换为https网址,所以遇到这个问题也算正常。将解决方法记录下来给需要的人。 //只需要在 HttpWebRequest 发送…...
![](https://www.ngui.cc/images/no-images.jpg)
响应式Web设计:纯HTML和CSS的实现技巧
文章目录 响应式Web设计:纯HTML和CSS的实现技巧一、响应式Web设计概述二、实现响应式设计的技巧1. 使用媒体查询(Media Queries)2. 使用弹性布局(Flexbox)3. 使用网格布局(CSS Grid)4. 使用相对…...
![](https://www.ngui.cc/images/no-images.jpg)
linux centos 防火墙常用命令
1、开放端口 firewall-cmd --zonepublic --add-port80/tcp --permanent 1 2、查看某端口是否开放 firewall-cmd --query-port80/tcp 1 3、查看端口开启列表 firewall-cmd --list-port 1 4、重启防火墙 firewall-cmd --reload 1 5、关闭防火墙 systemctl stop firewalld.se…...
![](https://img-blog.csdnimg.cn/img_convert/385163fd29678b6c54c6c575a461560f.jpeg)
iOS18 Beta7 最终测试版推送:苹果的又一次技术飞跃
苹果公司以其一贯的创新精神和对完美的追求,再次引领了科技界的新潮流。今天,我们聚焦于苹果最新推送的iOS18 Beta7最终测试版,这一版本不仅是苹果软件更新的里程碑,更是用户体验的一次重大升级。 最终测试版的亮相 在众多果粉的…...
![](https://i-blog.csdnimg.cn/direct/19876228fb2744d0803f5b97e4960592.png)
超详细!2024叉车证办理及考试流程详解!速看!
根据《特种设备安全监察条例》规定:叉车操作员必须经专业培训和考核,取得地、市级以上质量技术监督行政部门颁发的作业人员资格证书,方可从事该项工作。叉车驾驶证是属于特种车辆驾驶证,要到全国市级质量监督局指定叉车训练基地报…...
![](https://i-blog.csdnimg.cn/direct/6793c55dd25b4c57ba724fe3d64e6420.png)
浅谈监听器插件之SSHMon Samples Collector
浅谈监听器插件之SSHMon Samples Collector SSHMon Samples Collector 是 JMeter 的一个强大插件,它允许用户通过 SSH 协议远程监控目标服务器的资源利用率,为性能测试提供实时的系统性能数据。这对于评估应用在高负载条件下的表现以及定位性能瓶颈至关…...
![](https://img-blog.csdnimg.cn/img_convert/c5f314b6282c6637c560dca919d4e683.png)
R语言论文插图模板第7期—分组散点图
在之前的文章中,分享过R语言折线图的绘制模板: 柱状图的绘制模板: 本期再来分享一下散点图(分组)的绘制方法。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,…...
![](https://www.ngui.cc/images/no-images.jpg)
设计模式 抽象工厂方法模式
定义与特点 工厂方法模式(FactoryMethod),定义一个创建产品对象的工厂接口,让工厂子类决定实例化那一个产品类。工厂方法使一个类的实例化延迟到其子类。 我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂…...
![](https://i-blog.csdnimg.cn/direct/f4597425d8ea4743aead088c4792a8c7.png)
PowerShell 一键配置IP
前言 实现一键更改Windows 网卡IP,子网,网关,dns,重命名网卡,获取的接口索引名称,获取接口名称,刷新组策略,刷新系统,脚本可重复配置,,以下环境我是两个网卡配置IP 前提条件 开启wmi,配置网卡,参考 创建更改网卡脚本 实验环境,两个网卡,清除默认,重命名(配置)…...
![](https://img-blog.csdnimg.cn/img_convert/aa0d6ccf4f3c6f683605085d7fda3416.png)
【Pyhthon读取 PDF文件表格 ,转为 CSV/TSV/JSON文件】
tabula-py tabula-py 是一个将 PDF 表格转换为 pandas DataFrame 的工具。 tabula-py 是 tabula-java 的包装器,需要您的机器上有 java。 tabula-py 还允许您将 PDF 中的表格转换为 CSV/TSV 文件。 tabula-py 的 PDF 提取准确度与 tabula-java 或 tabula app 相…...
![](https://i-blog.csdnimg.cn/direct/5959e9683fd54475999307dd95260d45.png)
<数据集>商品条形码识别数据集<目标检测>
数据集格式:VOCYOLO格式 图片数量:3748张 标注数量(xml文件个数):3748 标注数量(txt文件个数):3748 标注类别数:1 标注类别名称:[Barcode] 序号类别名称图片数框数1Barcode37484086 使用标注工具&am…...
![](https://i-blog.csdnimg.cn/direct/644d04718c7b46b2aefc7a4f724bda85.jpeg)
无人机系统的关键技术
一、飞控系统:是无人机完成整个飞行过程的关键,决定了无人机的飞行性能和稳定性。 二、导航系统:提供无人机所需的位置、速度和飞行姿态等信息,引导无人机按照指定航线飞行。 三、动力系统:提供飞行动力,…...
![](https://i-blog.csdnimg.cn/direct/d2447135075d4af585fca8b4da07964f.png)
(24)(24.4) MultiWii/DJI/HDZero OSD (version 4.2 and later)(一)
文章目录 前言 1 基于遥测的OSD 前言 ArduPilot 使用基于MSP(MultiWii 串行协议)的协议支持多种类型的屏幕显示(OSD): 基于 MSP 遥测的操作系统,如大疆 FPV 护目镜 V1/V2、大疆护目镜 RE、FatShark Byte…...
![](https://i-blog.csdnimg.cn/direct/5a437c85b35943cdba3bee1796a50d24.png)
HiveSQL:提取json串内容——get_json_oject和json_tuple
提取json串中内容,json格式示例如下 方法(运行环境Hive) get_json_objectjson_tuple get_json_object select json_data,get_json_object(json_data,$.price) as price -- 取第一层,get_json_object(json_data,$.inquiry_params) as in…...
![](https://www.ngui.cc/images/no-images.jpg)
Clickhouse 二进制安装
下载对应版本https://github.com/ClickHouse/ClickHouse 分别选择arm64/x86_64 对应的tgz 场景是需要把ck所有文件安装指定目录,使用rpm会散布在各个目录不方便管控 下载client,common-static,server这三个 将相同的目录合并成一个(这里注意需要在l…...
![](https://www.ngui.cc/images/no-images.jpg)
大数据开发工程师面试整理-项目经验
在面试或职业发展中,分享项目经验是展示个人能力和专业知识的重要途径。大数据开发工程师的项目经验通常涉及数据处理、系统设计、性能优化以及与团队协作等多个方面。以下是如何有效地展示大数据项目经验的指导,以及一个示范性的项目经验描述。 1. 结构化描述项目经验 ● 项…...
![](https://i-blog.csdnimg.cn/direct/8155dd4d4f28468685e94a5a2125e827.png)
游戏引擎详解——图片
图片 图片的格式 图片文件格式pngjpg 纹理压缩格式ETC1/2PVRTCASTC 图片的属性 图片属性解释分辨率宽高像素值(pt),如:1024*1024位深度用来存储像素颜色的值,如RGBA8888,红黄蓝透明度4个维度每个8bit&…...
![](https://i-blog.csdnimg.cn/direct/5590f97d582b46fbbc5707268fc86cfe.png)
电商API数据接口在电商运营电商数据分析中的作用?
电商运营中,品牌方使用电商API数据接口可以带来众多益处,具体包括但不限于以下几点: 实时数据同步:通过API接口,品牌方可以实时获取商品库存、订单状态、价格变动等信息,保证数据的时效性和准确性ÿ…...
![](https://www.ngui.cc/images/no-images.jpg)
Java OkHttp使用(二)
文章目录 引言使用 OkHttp 发送回调其他 引言 记录一下 OkHttp 的使用;OkHttp 异步发送回调请求,增加回调失败重试。 使用 OkHttp 发送回调 /*** 回调重试类*/ Data public class CallBackRetryData {/*** 回调信息JSON*/private JSONObject bodyRequ…...
![](https://i-blog.csdnimg.cn/direct/b3ee789aa01146e2a1ef94069fc6ea15.png)
宝塔(bt.cn)面板新手小白使用中常见问题
1.新手小白-服务器正确的安装宝塔的粗略教程 购买服务器后首先是挂载磁盘再安装宝塔,步骤不要搞错,免得安全后磁盘空间不对需要挂载多免费异步,切记切记 挂载磁盘:(挂载磁盘只需一行命令即可,请根据自己的系统选择正确…...
![](https://www.ngui.cc/images/no-images.jpg)
【LeetCode:3133】数组最后一个元素的最小值(Java)
题目链接 3133. 数组最后一个元素的最小值 题目描述 给你两个整数 n 和 x 。你需要构造一个长度为 n 的 正整数 数组 nums ,对于所有 0 < i < n - 1 ,满足 nums[i 1] 大于 nums[i] ,并且数组 nums 中所有元素的按位 AND 运算结果为…...
![](https://i-blog.csdnimg.cn/direct/9d538bb6135c40e192b01d0a5b6d1bc1.png)
FCARM - Output Name not specified, please check ‘Options for Target - Utilities‘解决方法
出现这个问题的原因是导入文件时默认类型选错了,修改文件类型即可 如图右键导入文件,选择“Options for File OLED.C” 选择“File Type”,将头文件文件类型修改为“Text Documents file”,将.c文件文件类型修改为“C Sorce file” 第二方…...
![](https://i-blog.csdnimg.cn/direct/780f2e86690f4c6f9781c0266850dc17.jpeg)
自行车制造5G智能工厂工业物联数字孪生平台,推进制造业数字化
在当今这个日新月异的数字化时代,制造业正经历着前所未有的变革,自行车制造5G智能工厂工业物联数字孪生平台的兴起,无疑是这场转型浪潮中一股强劲力量。自行车制造5G智能工厂工业物联数字孪生平台的成功应用,不仅仅是技术上的突破…...
![](https://img-blog.csdnimg.cn/img_convert/e0466511c62f21585582e415234ad69f.jpeg)
一文彻底搞懂Transformer - FFNN(前馈神经网络)
Transformer 神经网络: 神经网络(Neural Networks)是一种模仿生物神经网络的结构和功能的数学或计算模型。它由大量的人工神经元(也称为节点或处理单元)相互连接而成,这些神经元之间通过带有权重的连接进行…...
![](https://www.ngui.cc/images/no-images.jpg)
SpringCloud Gateway及 Springboot 服务 跨域配置
SpringCloud Gateway 跨域配置 配置文件 #跨域支持 spring.cloud.gateway.globalcors.cors-configurations.[/**].allowed-headers[0]* spring.cloud.gateway.globalcors.cors-configurations.[/**].allowed-methods[0]* spring.cloud.gateway.globalcors.cors-configuration…...
![](https://www.ngui.cc/images/no-images.jpg)
【Solidity】安全与校验
信息传输 发送方 A: 计算消息 message 的哈希值 H:hash(message) H 私钥 privateKey ➕ 哈希值 H 🟰 签名 signature:signature sign(H, privateKey) 将消息 message 和签名 signature 发送给 B 接收方 B: 计算…...
![](https://img-blog.csdnimg.cn/img_convert/95714841df13491748fbc97e4b88d72a.jpeg)
黑神话悟空四十二项修改器 v1.0
软件简介 黑神话悟空四十二项修改器由风灵月影精心打磨,为《黑神话悟空》这款备受瞩目的游戏量身定制。这款修改器界面简洁、体积小巧、功能强大,它致力于为玩家提供便捷的游戏体验,让您能够根据个人喜好和需求,轻松调整游戏内的…...
![](/images/no-images.jpg)
山东网站建设报价/长春seo网站管理
在js、jquery中存在这大量的对象遍历,但是存在条件判断时传统的 break和continue 不一定能够使用。 在jQuery的 $.(selected).each({ }); 、$.each() 和 js的 obj.forEach函数体内不能使用break和continue。 所以代替方案就是在判断条件中使用 return true; 代替 c…...
![](/images/no-images.jpg)
建设一个班级网站的具体步骤/外链工厂
阅读使人充实,会谈使人敏捷,写作使人精确。——培根Linux 系统管理员试卷样题(中级)一、选择题:1、linux 操作系统内核创始人是( )A. Bill GatesB. Richard StallmanC. Linus TorvaldsD. Dennis M Ritchie 、Ken Thompson2、在linux 中有关I…...
![](http://www.w3school.com.cn/i/ct_css_selector.gif)
商城网站怎么做内链/百度竞价广告点击器
CSS 概述CSS 指层叠样式表 (Cascading Style Sheets),用于定义如何显示 HTML 标签,进行美化页面,css通常存储在样式表中。css有三种存在方式标签内联、页面嵌入和外部引入,比较三种方式的优缺点。在标签中使用 stylexx:xxx; 在…...
![](/images/no-images.jpg)
大学生做网站怎么赚钱/杭州千锋教育地址
作者很直男,兄弟们直接复制代码看效果吧!!! 一些小细节,大家可以自己动手修改。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"…...
![](https://img-blog.csdnimg.cn/b39f3a312fe34fd8990a88f29445d7ed.gif)
pc网站建设怎么弄/云优化seo软件
C语言strcpy库函数的讲解 附1:MSDN关于strcpy库函数的简介 思路: 1.从上面的MSDN关于strcpy库函数的简介中,我们可以知道,传进函数的第一个参数是目标数组,也就是用来接收被拷贝的字符串,第二个参数是源头…...
![](https://img-blog.csdnimg.cn/img_convert/f37716c7e8733c0b7f704c0652d3b580.png)
兰州做网站/青岛谷歌优化
2015-01-06在cass9.0中如何标高程1。使用南方cass软件“工程应用”菜单下的“等高线生成数据文件”命令,提取原始地形等高线上的坐标和高程数据,保存为原始地形数据。dat 文件。2。将各点设计平均高程也保存为cass格式的坐标高程数据文件,保存…...