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

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.rhkb.cn/news/138097.html

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

相关文章

怒刷LeetCode的第11天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一:迭代 方法二:递归 方法三:指针转向 第二题 题目来源 题目内容 解决方法 方法一:快慢指针 方法二:Arrays类的sort方法 方法三:计数器 方法四…

Neo4j图数据库_web页面关闭登录实现免登陆访问_常用的cypher语句_删除_查询_创建关系图谱---Neo4j图数据库工作笔记0013

由于除了安装,那么真实使用的时候,就是导入数据了,有了关系和节点的csv文件以后如果用 cypher进行导入数据和创建关系图谱,还有进行查询,以及如果导入错误如何清空,大概是这些 用的最多的,单独把这些拿进来,总结一下,用的会比较方便. 1.实现免登陆访问: /data/module/neo4j-…

【动态规划刷题 16】最长等差数列 (有难度) 等差数列划分 II - 子序列

1027. 最长等差数列 https://leetcode.cn/problems/longest-arithmetic-subsequence/ 给你一个整数数组 nums&#xff0c;返回 nums 中最长等差子序列的长度。 回想一下&#xff0c;nums 的子序列是一个列表 nums[i1], nums[i2], …, nums[ik] &#xff0c;且 0 < i1 <…

Spring Cloud Alibaba Nacos 2.2.3 (2) - 单机版启动 (winodows 和 linux )

Nacos 2.2.3 (1) - 下载与数据库配置 参考下载与数据库配置 启动服务器 执行 nacos-server-2.2.3\bin 下的startup.sh或者startup.cmd &#xff08;根据不同系统&#xff09; windows 下nacos 单机启动 方式一&#xff1a; 1&#xff0c;打开cmd 2&#xff0c;cd 到nacos-s…

什么是虚拟DOM(Virtual DOM)?它在前端框架中的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是虚拟DOM&#xff08;Virtual DOM&#xff09;&#xff1f;⭐ 虚拟DOM 在前端框架中的作用⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&…

sudo apt-get update失败的原因和解决方法

ubuntu更新资源包时出现连接超时的问题&#xff1a; 无法发起与 cn.archive.ubuntu.com:80 (2403:2c80:5::6) 的连接 - connect (101: 网络不可达) 无法连接上 cn.archive.ubuntu.com:80 (45.125.0.6)&#xff0c;连接超时 正在读取软件包列表… 完成 W: 无法下载 http://cn.ar…

Vue路由和Node.js环境搭建

文章目录 一、vue路由1.1 简介1.2 SPA1.3 实例 二、Node.js环境搭建2.1 Node.js简介2.2 npm2.3 环境搭建2.3.1 下载解压2.3.2 配置环境变量2.3.3 配置npm全局模块路径和cache默认安装位置2.3.4 修改npm镜像提高下载速度 2.4 运行项目 一、vue路由 1.1 简介 Vue 路由是 Vue.js…

使用GPT训练中秋古诗写作讲解

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…

PyTorch C++ 前端:张量

本篇文章将尝试了解 PyTorch 组件的高级概述以及它们如何配合。 PyTorch 组件的高级概述 后端 PyTorch 后端是用 C++ 编写的,它提供 API 来访问高度优化的库,例如:用于高效矩阵运算的张量库、用于执行 GPU 运算的 CUDA 库以及用于梯度计算的自动微分等。 前端 可以使用…

如何通过百度SEO优化提升网站排名(掌握基础概念,实现有效优化)

随着互联网的发展&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;成为了网站优化中不可或缺的一部分。在中国&#xff0c;百度搜索引擎占据着主导地位&#xff0c;因此掌握百度SEO概念和优化技巧对网站的排名和曝光非常重要。 百度SEO排名的6个有效方法&#xff1a; 首…

前后端分离的低代码快速开发框架

低代码开发正逐渐成为企业创新的关键工具。通过提高开发效率、降低成本、增强灵活性以及满足不同用户需求&#xff0c;低代码开发使企业能够快速响应市场需求&#xff0c;提供创新解决方案。选择合适的低代码平台&#xff0c;小成本组建一个专属于你的应用。 项目简介 这是一个…

PHP通过pem文件校验签名异常

问题描述&#xff1a; 在对接第三方支付过程中&#xff0c;支付成功异步回调时&#xff0c;校验签名&#xff0c;一直无法通过。 但是在支付成功时有一个同步返回也需要校验签名&#xff0c;用的是同样的校验方法&#xff0c;都没有问题。 当把回调时传递的参数放在postman中&a…

测试域: 流量回放-工具篇jvm-sandbox,jvm-sandbox-repeater,gs-rest-service

JVM-Sandbox Jvm-Sandbox-Repeater架构_小小平不平凡的博客-CSDN博客 https://www.cnblogs.com/hong-fithing/p/16222644.html 流量回放框架jvm-sandbox-repeater的实践_做人&#xff0c;最重要的就是开心嘛的博客-CSDN博客 [jvm-sandbox-repeater 学习笔记][入门使用篇] 2…

MYSQL存储引擎基础知识介绍

下面重点介绍几种常用的存储引擎,并对比各个存储引擎之间的区别&#xff0c;以帮助读者理解 不同存储引擎的使用方式。 MyISAM MyISAM是 MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键&#xff0c;其优势是访 问的速度快&#xff0c;对事务完整性没有要求或者以 SEL…

java面向对象(八)

文章目录 一、abstract关键字的使用1.概念2. abstract修饰类:抽象类3.abstract修饰方法&#xff0c;抽象方法4.abstract使用上的注意点&#xff1a;5.抽象类的匿名子类 二、计算一段代码执行所花费的时间三、接口的使用1.接口的使用2.定义接口中的成员3.代码demo4.Java类可以实…

stm32学习-芯片系列/选型/开发方式

【03】STM32HAL库开发-初识STM32 | STM概念、芯片分类、命名规则、选型 | STM32原理图设计、看数据手册、最小系统的组成 、STM32IO分配_小浪宝宝的博客-CSDN博客  STM32&#xff1a;ST是意法半导体&#xff0c;M是MCU/MPU&#xff0c;32是32位。  ST累计推出了&#xff1a…

爬虫 — App 爬虫(一)

目录 一、介绍二、APP 爬虫常见反爬三、APP 抓包常用工具四、模拟器五、安装 APP1、下载 APP2、安装 APP 六、fiddler1、工作原理2、安装3、基本介绍 七、环境配置1、fiddler 的配置2、夜神模拟器的配置 八、案例 一、介绍 爬虫分类——数据来源 1、PC 端爬虫&#xff08;网页…

Linux 打包压缩命令

目前 linux 中打包和压缩的命令很多&#xff0c;最常用的方法有 zip、gzip、bzip2、xz、tar 1.zip 压缩包 //制作 //-r 递归 表示将指定的目录下的所有子目录以及文件一起处理 zip -r public.zip public//解压 unzip public.zip unzip public.zip -d dir//查看 unzip -l publi…

Android嵌套事务

这时候旋转设备还是会重置秒表。旋转设备时Android会重新创建活动。如果你的活动包含一个 < fragment >元素&#xff0c;每次重新创建活动时&#xff0c;它会重新插入片段的一个新版本。老片段被丢掉&#xff0c;所有实例变量会设置其初始值。在这个特定的例子中&#xf…

Matlab图像处理-HSI模型

HSI模型 HSI模型是从人的视觉系统出发&#xff0c;直接使用颜色三要素色调(Hue)、饱和度(Saturation)和亮度&#xff08;Intensity&#xff09;来描述颜色。 亮度是指人眼感知光线的明暗程度。光的能量越大&#xff0c;亮度就越大。 色调是颜色最重要的属性。 它决定了颜色的…