Redis 集合(Set)快速指南 | Navicat

news2024/11/26 23:17:13

Redis 支持通过多种数据类型来存储项目集合。其中,包括列表、集合和哈希。上周的博文介绍了列表(List)数据类型并重点介绍了一些用于管理列表(List)的主要命令。在今天的文章中,我们将转向关注集合(Set)数据类型。在 Redis 中,集合(Set)与列表(List)相似,但是,集合(Set)中的元素是无序的,并且每个元素是唯一的。本文将介绍一些用于管理集合(Set)的主要命令,以及在 redis-cli 和 Navicat for Redis 中使用集合(Set)的方法。

创建集合(Set)

在 Redis 中,我们可以使用 SADD 命令创建一个集合(Set),该命令会将指定的成员添加到键(key)中:

SADD key member [member ...]

如前面所提到的,每个元素必须是唯一的。因此,如果指定成员已经存在集合中,其将被忽视。如果键(key)不存在,将创建新集合(Set)并添加唯一的指定成员。如果键(key)已经存在或不是集合类型,则返回一个错误。

此命令用于创建一个“vehicles”集合:

SADD vehicles "Infiniti"         // 1
SADD vehicles "Mazda"            // 1
SADD vehicles "Ford" "Mercedes"    // 2
SADD vehicles "Porsche" "Mercedes" // 1

需要注意的是,SADD 命令返回的是在该语句中被添加的新成员数量,而不是集合的大小。我们从最后一行命令可以看出,只添加了一个元素,因为“Mercedes”值已经存在。

在 Navicat 中创建一个集合(Set)

在 Navicat for Redis 编辑器中,集合(Set)的值用“元素”来表示。点击元素右侧的省略号 […] 按钮,可打开特定编辑器,你可以在此输入单个集合元素:

vehicles_set_in_navicat_editor (69K)

点击“应用”按钮可将新的集合或元素添加进去,Navicat 会自动移除重复的值。

从集合(Set)中移除成员

使用 SREM 命令从集合中移除成员:

SREM key member [member ...]
SREM vehicles "Mazda" "Mercedes" // 2
SREM vehicles "Dodge" // 0

与 SADD 命令相似,SREM 命令也会返回被移除成员的数量。

在 Navicat 编辑器中,我们可以选中任意集合元素并点击位于元素值底部的删除 [-] 按钮来移除它:

delete_button_in_navicat_editor (25K)

验证值是否存在

为了验证一个成员是否属于一个集合,我们可以使用 SISMEMBER 命令:

SISMEMBER key member

如果成员属于集合,该命令返回 1;否则,返回 0:

SISMEMBER vehicles "Infiniti" // 1
SISMEMBER vehicles "Alfa Romeo" // 0

查看集合(Set)

为了展示集合中存在的所有成员,我们可以使用 SMEMBERS 命令:

SMEMBERS key

让我们来看下“vehicles”集合当前所包含的成员:

SMEMBERS vehicles
// returns "Infiniti", "Ford", "Porsche"

合并集合(Set)

我们可以使用 SUNION 命令非常容易地合并集合(Set):

SUNION key [key ...]

SUNION 命令中的每个参数代表一个集合,并要将其合并到更大的集合中。需要注意的是,为了保证元素的唯一性,任何重复的元素都会被移除。

假设我们还有另一个名为“more_vehicles”的集合,其包含“Corvette”和“Alfa Romeo”这两个值。我们可通过以下方式查看“vehicles”和“more_vehicles”这两个集合的所有成员:

SUNION vehicles more_vehicles
// "Infiniti", "Ford", "Porsche", "Corvette", "Alfa Romeo"

总论

本文主要介绍了一些用于管理 Redis 集合( Set )的主要命令,以及在 redis-cli Navicat for Redis 中使用集合(Set)的方法。若想试用 Navicat for Redis ,你可点击 此处 下载它,可享 14 天免费试用完整版功能。

往期回顾 

  1. Navicat 现已正式支持 Redis
  2. Navicat 16 现已支持华为云 GaussDB
  3. Navicat 现已支持 OceanBase 全线数据库
  4. 保姆级教程 | Navicat 人工备份和自动备份
  5. Navicat 用户权限功能
  6. Navicat 数据备份与恢复功能

  7. Navicat 入选中国信通院发布的《中国数据库产业图谱(2023)》

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot 整合 Websocket 通信demo (附浏览器聊天窗口)

1. 依赖 <!-- SpringBoot WebSocket --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency>2. 自动注册配置类 import org.springframework.context…

Timeline的使用心得

timeline使用教程 timeline使用主要分为一下几步&#xff1a; 1、新建表格&#xff1b; 2、设置数据 3、发布网址 4、修改表格样式&#xff1b; 5、快速预览 需要用到的几个网址&#xff1a; 1、timeline官网网址&#xff1a;timeline 2、本地图片转链接&#xff1a;图片转链…

创建react脚手架项目——demo(react18 + react-router 6)

创建react脚手架项目——demo&#xff08;react18 react-router 6&#xff09; 1. 安装 create-react-app1.1 执行安装命令1.2 安装遇到的问题1.2.1 问题1——npm ERR! code ENOTFOUND 2. 创建项目2.1 创建项目命令2.2 查看项目结构2.2.1 目录结构2.2.2 注意点 3. 启动项目4. …

分享一下在微信公众号上怎么实现表单功能

在微信公众号上实现表单功能可以帮助公众号运营者与用户进行互动&#xff0c;收集用户反馈&#xff0c;提供个性化服务&#xff0c;以及进行数据分析等。以下是在微信公众号上实现表单功能的一些步骤和建议。 一、了解微信公众号平台的功能 首先&#xff0c;你需要了解微信公众…

关于《考研数学高分公式》系列的后续及一点说明

写在前面 在昨天&#xff0c;当我再次登录CSDN时&#xff0c;我惊讶地发现《考研数学高分公式》这一系列的两篇文章竟然拥有超过数万次的阅读量。许多学弟学妹也通过私信向我询问&#xff0c;为什么不再继续更新这个系列了。 未及时回复他们&#xff0c;颇感惭愧。 我仔细考…

预约到家按摩小程序开发定制同城服务

随着生活节奏加快&#xff0c;生活压力也随之而来&#xff0c;很多人忙于工作与生计&#xff0c;身体和心理两方面都在承受重压。而按摩能够消除身体的疲惫&#xff0c;增强人的身体体质&#xff0c;在劳累过后放松身心按摩一会儿&#xff0c;可以快速恢复精神状态&#xff0c;…

智能3D人体导医系统源码 智能导诊系统源码

智能3D人体导医系统源码 医院智能导诊系统是在医疗中使用的引导患者自助就诊挂号&#xff0c;在就诊的过程中有许多患者不知道需要挂什么号&#xff0c;要看什么病&#xff0c;通过智能导诊系统&#xff0c;可输入自身疾病的症状表现&#xff0c;或选择身体部位&#xff0c;在…

云的灵魂是人工智能

在这个数字化飞速发展的时代&#xff0c;云计算已经成为了我们生活中不可或缺的一部分。而随着人工智能技术的不断进步&#xff0c;云的灵魂也逐渐被赋予了人工智能的色彩。让我们一起探讨这个新兴的话题&#xff0c;一起展望云计算与人工智能的融合所带来的巨大变革。 一、GPU…

中风失语 18 年,AI + 脑机接口帮她「意念发声」

人与人交往中&#xff0c;说话表达是最基本的能力和方式&#xff0c;可世界上有很多人&#xff0c;却「有口难言」。 「失语症」中&#xff0c;由中风引起的最为常见。他们的声音无法传达&#xff0c;他们的诉求不为人所知&#xff0c;他们遭受着社交孤立&#xff0c;他们的沉默…

“混合”引擎为通用子模块提供动力,实现嵌入式I / O灵活性

现成的组件对于嵌入式开发工程师而言并不是什么新鲜事物。但是&#xff0c;实际上没有人期望一种“一刀切”的解决方案&#xff0c;尤其是在涉及复杂的I / O要求的情况下。 但是&#xff0c;基于流行的夹层卡格式的具有成本效益的现场可编程门阵列&#xff08;FPGA&#xff09…

DALLE-2

扩散模型做图像生成使用clip预训练好的特征去做层级式的依托于文本的图像生成先生成小分辨率图像64*64然后利用一个模型上采样到256*256&#xff08;迭代&#xff09;先训练好一个clip模型&#xff0c;学习到图像文本对的关系 图像生成的模型 AEDAEVAEVQVAEDALL-E &#xff1…

Pycharm 配置python项目本地运行环境

1.打开Pycharm,打开Setting 2. 新建本地环境 3.如果报错如上图所示&#xff0c;请通过cmd来新建本地环境&#xff0c;具体步骤如下 在对应的代码路径下&#xff0c;通过virtualenv venv来创建虚拟路径 安装好之后&#xff0c;安装对应的依赖包即可 pip3 install -r ./require…

如何在windows环境下编译T

一&#xff0c; 安装MYSYS2 1. 去https://www.msys2.org下载 msys2-x86_64-xxxxx.exe; 2. 按照msys2.org主页提示的步骤安装; 3.安装完默认起来的是 UCRT的&#xff0c; 可以根据环境的需要选择&#xff0c; 我选择的 MSYS2 MINGW64 4. 搭建编译环境&#xff0c; 安装对应的软…

反常积分的概念与计算

目录 无穷区间上的反常积分 无界函数的反常积分 反常积分的敛散性 反常积分的计算 无穷区间上的反常积分 无穷区间上的反常积分(improper integral on infinite interval)是一种反常积分 设函数f(x)在(a,∞)上有定义&#xff0c;且f(x)在任意有限区间(a,A)(A>a)上可积&…

一生一芯15——jupyter notebook搭建与对应kernel的设置

本文参照 https://zhuanlan.zhihu.com/p/403183676?utm_id0 https://blog.csdn.net/moledyzhang/article/details/78850820 进入虚拟环境Chisel conda activate Chisel安装jupyter pip3 install jupyter查看内核 jupyter kernelspec list此处我已经安装好&#xff0c;否则…

大学生实习考勤打卡系统 微信小程序uniapp

本毕业设计的内容是设计实现一个学生实习考勤的打卡小程序。它是以 springboot框架&#xff0c;MYSQL为数据库开发平台&#xff0c;Tomcat网络信息服务作为应用服务器。学生实习考勤的打卡的功能已基本实现&#xff0c;主要包括学生、实习单位、实习打卡、考研申报、找工作申报…

AQS锁原理

文章目录 一、AQS是什么&#xff1f;二、AQS原理三、STATE&#xff1a;状态四、AQS共享资源的方式&#xff1a;独占式和共享式4.1 独占式实现4.1 共享式 总结 一、AQS是什么&#xff1f; AQS&#xff08;Abstract Queued Synchronizer&#xff09;是一个抽象的队列同步器&…

节距信号发生器(成缆变节距控制)

成缆机系统控制,请查看下面文章链接 ,这篇文章主要介绍节距信号发生器算法原理和代码,博途PLC信号发生器链接地址如下: PLC信号发生器(博途SCL)_RXXW_Dor的博客-CSDN博客信号发生器的应用请参看下面的博客文章,在演示滤波器的作用时,我们可能也会用到信号的叠加等。博途…

嵌入式学习笔记(29)轮询方式处理按键

X210开发板的按键接法 &#xff08;1&#xff09;查原理图&#xff0c;找到按键对应的GPIO&#xff1a;SW5:GPH0_2 SW6:GPH0_3 SW78910:GPH2_0123 &#xff08;2&#xff09;原理图上可看出&#xff1a;按下时是低电平&#xff0c;弹起时是高电平。 按键对应的GPIO模式设置 …

gcc/c++ 版本不一致问题导致的

1.问题 rk3566板子的系统是ubuntu20.04 focal&#xff0c; /etc/apt/source.list更换为阿里源 x86-67的pc主机系统的是ubuntu20.04 jammy /etc/apt/source.list 更换为清华源 按照rknpu2的开发教程Rockchip_Quick_Start_RKNN_SDK_V1.5.2_CN.pdf&#xff1a; 交叉编…