当前位置: 首页 > news >正文

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.lryc.cn/news/172206.html

相关文章:

  • 【华为云云耀云服务器L实例评测】- 云原生实践,快捷部署人才招聘平台容器化技术方案!
  • 【Java】泛型 之 什么是泛型
  • Python yaml 详解
  • RabbitMQ消息可靠性(二)-- 消费者消息确认
  • 【python第7课 实例,类】
  • RocketMQ源码解析(上)
  • Webpack打包CSS文件,解决You may need an appropriate loader to handle this file type报错
  • 轮换对称性
  • 【MySQL基础】--- 约束
  • ROS2 的行为树 — 第 1 部分:解锁高级机器人决策和控制
  • kafka事务的详解
  • Flutter Fair逻辑动态化架构设计与实现
  • 【每日一题】74. 搜索二维矩阵
  • 软件测试进大厂,拿高薪,怎么做?看这里!
  • 【读书笔记】基于世界500强的高薪实战Kubernetes课程
  • 【Java 基础篇】Java并发包详解
  • MYSQL存储引擎基础知识介绍
  • vue学习之element-ui组件集成
  • 如何通过百度SEO优化提升网站排名(掌握基础概念,实现有效优化)
  • Golang 字符串
  • python应用中使用了multiprocessing多进程,使用pyinstaller打包出来的程序可能产生多个窗口
  • 数据结构与算法——13.队列的拓展
  • 机器学习入门教学——损失函数(交叉熵法)
  • pytest一些常见的插件
  • 基于51单片机多路DTH11温湿度检测控制系统
  • 宝塔重装注意事项
  • 【MySQL】 MySQL的增删改查(进阶)--壹
  • Map<K,V>的使用和List学习
  • Flask实现Web服务调用Python程序
  • 步步为营,如何将GOlang引用库的安全漏洞修干净