六、redis之set

news/2024/12/22 9:57:20/文章来源:https://www.cnblogs.com/shigongp/p/18445400

Redis集合是成员的无序集合。可以用来保存唯一的成员。

注意:对于以下的命令,涉及删除成员的,如果集合中的所有元素都被移除,则集合会被删除。如果集合原先不存在,被当作空集合。

SADD

SADD key member [member ...]

sadd命令将一系列成员添加到set中。

SMEMBERS

SMEMBERS key

smembers列出set中的所有成员。如果set成员很多,会阻塞redis服务,所以在生产环境慎用。

SISMEMBER

SISMEMBER key member

sismember判断成员是否属于set集合。

SMISMEMBER

SMISMEMBER key member [member ...]

smismember判断多个成员是否属于set集合。

SCARD

SCARD key

scard返回集合中的成员数量。

SMOVE

SMOVE source destination member

SMOVE将成员从slource集合移除,并添加到destination集合。

SPOP

SPOP key [count]

spop随机从set中移除并返回count个成员。

SRANDMEMBER

SRANDMEMBER key [count]

srandmember从set中随机返回count个成员。

SREM

SREM key member [member ...]

srem从set中移除指定的多个成员。

SSCAN

SSCAN key cursor [MATCH pattern] [COUNT count]

SSCAN和hscan的用法类似,区别的是返回的数据类型不同。

在高中时,数学的第一章就是集合。那么redis中的集合有没有数学中的集合涉及的运算呢?有的。最后看下集合的运算。

交集

数学中的交集就是两个集合共同的成员组成的集合。

SINTER key [key ...]

sinter返回多个集合的交集。

SINTERSTORE destination key [key ...]

SINTERSTORE将多个集合的交集保存到destination集合中。

SINTERCARD numkeys key [key ...] [LIMIT limit]

SINTERCARD返回多个交集中成员数量。limit限制交集的成员数,对于大集合可以快速返回。

差集

数学中的差集就是一个集合移除另一集合中的成员后剩余的成员组成的新集合。

SDIFF key [key ...]
SDIFFSTORE destination key [key ...]

SDIFF set1 set2的结果是set1中的成员移除set2中的所有成员后剩余的成员组成的新集合。SDIFFSTORE将差集的结果保存到destination集合中。

并集

并集就是将多个集合的所有成员组成新的集合。

SUNION key [key ...]
SUNIONSTORE destination key [key ...]

SUNION会将集合的结果返回,SUNIONSTORE会将集合的结果保存到destination集合。

可以看到如果destination集合原先存在数据,SUNIONSTORE会覆盖原先的数据。SDIFFSTORE,SINTERSTORE命令也一样

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/807340.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA创建Gradle工程-实践

1、下载Gradle 下载地址:https://gradle.org/install/#manually 进入后点击【Binary-only】下载zip包。 (国内下载可能慢,可用阿里镜像:https://mirrors.aliyun.com/macports/distfiles/gradle/)2、安装Gradle 解压zip到自定义目录:G:\OriginLib\gradle-8.9配置环境变量 …

Leetcode 2300. 咒语和药水的成功对数

1.题目基本信息 1.1.题目描述 给你两个正整数数组 spells 和 potions ,长度分别为 n 和 m ,其中 spells[i] 表示第 i 个咒语的能量强度,potions[j] 表示第 j 瓶药水的能量强度。 同时给你一个整数 success 。一个咒语和药水的能量强度 相乘 如果 大于等于 success ,那么它们…

java 反序列化 cc1 复现

cc1java反序列化cc1漏洞复现,环境commoncollections3.2.1, java8u65. 分析的时候从执行命令的部分开始,一点一点的倒退回反序列化接口.目的:在java反序列化的时候会利用构造函数来进行对象的构造,那么我们的目标就是只调用构造函数来执行命令. 源码剖析 Transformer 一个接口,定…

吴恩达机器学习课程 笔记5 神经网络

神经网络原理 神经网络是一种受生物神经系统启发的计算模型,用于学习和处理复杂的数据模式。神经网络通过一系列相互连接的简单处理单元(称为神经元或节点)来模拟大脑的功能。下面详细介绍神经网络的基本原理。 神经网络的基本构成神经元(Neuron):神经元是神经网络的基本…

在树莓派上部署yolo模型推理并使用onnx加速

首先在这里感谢一下这位大佬:学不会电磁场的个人空间-学不会电磁场个人主页-哔哩哔哩视频 (bilibili.com) 这里使用的代码是从手把手教你使用c++部署yolov5模型,opencv推理onnx模型_哔哩哔哩_bilibili处来的我这里只记录下更换成自己的模型的应用以及提供一份全注释的版本树莓…

Redis 发布订阅模式

概述 Redis 的发布/订阅是一种消息通信模式:发送者(Pub)向频道(Channel)发送消息,订阅者(Sub)接收频道上的消息。Redis 客户端可以订阅任意数量的频道,发送者也可以向任意频道发送数据。在发送者向频道发送一条消息后,这条消息就会被发送到订阅该频道的客户端(Sub)…

01-什么是逻辑?

感觉 知觉 感性认识 理性认识 感觉 知觉 表象 形象思维 ==》概念 在感性认识的基础上,人们通过抽象与概括,舍弃个别事物表面的、次要的属性,而把握住一类事物特有的、共同的、本质的属性,于是就形成了反映事物的概念。 直观性与个别性是感觉、知觉与表象的特点;抽…

十五款好看的键帽,总有一款适合你✔

在客制化键盘的时候,发现了不少挺好看的键帽,特地来分享一波。在客制化键盘的时候,发现了不少挺好看的键帽,特地来分享一波。 不含广告哈,只会列出一些搜索关键词,可以在各大电商搜索查到。 如果你已经有了键盘,也可以看看是否支持拆卸键帽,偶尔换换键帽调整心情。 PS:…

10-入侵检测技术原理与应用

10.1 入侵检测概述 1)概念 20世纪 80年代初期,安全专家认为: “入侵是指未经授权蓄意尝试访问信息、篡改信息,使系统不可用的行为。” 美国大学安全专家将入侵定义为 “非法进入信息系统,包括违反信息系统的安全策略或法律保护条例的动作”。 我们认为,入侵应与受害目标相…

Nexpose 6.6.271 发布下载,新增功能概览

Nexpose 6.6.271 发布下载,新增功能概览Nexpose 6.6.271 for Linux & Windows - 漏洞扫描 Rapid7 Vulnerability Management, release Sep 26, 2024 请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org您的…

在树莓派上安装c++版本的opencv并运行

这里默认你用的是树莓派的镜像(因为ubantu对树莓派的性能占用有点大) 树莓派安装使用 opencv c++版本 首先我们安装依赖sudo apt-get install build-essentialsudo apt-get install cmake libgtk2.0-dev pkg-config libswscale-devsudo apt-get install libjpeg-dev libpng-d…

读数据湖仓05数据需要的层次

读数据湖仓05数据需要的层次1. 业务价值 1.1. 技术和商业在这个世界上是相互交织的1.1.1. 基础数据在商业和技术应用中是不可或缺的1.2. 技术的存在是为了推动商业的目标和进步,并由企业出资支持1.2.1. 当技术推动商业发展时,商业会蓬勃发展,技术也会随之繁荣1.2.2. 当技术发…