Redis命令 - Sets命令组常用命令

2024-01-14 20:12
文章标签 命令 redis 常用命令 sets

本文主要是介绍Redis命令 - Sets命令组常用命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Set集合,无序,一堆不重复值的组合。利用redis提供的set数据结构,可以存储一些集合性的数据。

使用场景:例如,实现如共同关注、共同喜好、二度好友等

1、SADD key member [member …]

向集合中添加一个或者多个成员
1.1、如果集合key 不存在,则新建集合key。并添加member元素到集合key中。myset不存在,执行下面命令后,就创建了myset并且成员是0和1

sadd myset 0 1
在这里插入图片描述
重复的成员不会被添加进去。sadd myset 0 1 0 1 也只会添加进一个0和一个1
在这里插入图片描述

1.2、如果已经在集合key中存在则忽略.

sadd myset 0
sadd myset 1
sadd myset 3
成员0和1已经存在,因此返回0。成员3不存在,因此返回1
在这里插入图片描述

1.3、如果key的类型不是集合则返回错误.

sadd myhash 1
在这里插入图片描述

2、SCARD key

返回集合存储的key的基数 (集合元素的数量).

key存在,返回集合的基数(元素的数量)。key不存在,则返回 0.
scard myset
scard myset1
在这里插入图片描述

3、SMEMBERS key

返回key集合所有的元素。不会删除元素。

smembers myset
在这里插入图片描述

4、SRANDMEMBER key [count]

随机返回key集合中的一个元素或者count个元素。不会删除元素

例如:myset有3个元素:0 1 3

  • 如果count是整数且小于元素的个数,返回含有 count 个不同的元素的数组
    在这里插入图片描述

  • 如果count是个整数且大于集合中元素的个数时,仅返回整个集合的所有元素
    在这里插入图片描述

  • 当count是负数,则会返回一个包含count的绝对值的个数元素的数组
    在这里插入图片描述

  • 如果count的绝对值大于元素的个数,则返回的结果集里会出现一个元素出现多次的情况.
    在这里插入图片描述

以上是key存在的情况,会随机返回一个或者count个成员。当key不存在时,返回null
在这里插入图片描述

5、SPOP key [count]

从存储在key的集合中移除并返回一个或多个随机元素。会删除元素。

此操作与SRANDMEMBER类似,它从一个集合中返回一个或多个随机元素,但不删除元素。

spop myset
smembers myset
可见随机返回了一个成员3,并且删除了3
在这里插入图片描述

6、SMOVE source destination member

将member从source集合移动到destination集合中. 对于其他的客户端,在特定的时间元素将会作为source或者destination集合的成员出现.

6.1 先创建两个集合

sadd set1 0 1 2
sadd set2 1 2 3
在这里插入图片描述

6.2 source 集合不存在或者不包含指定的元素

smove命令不执行任何操作并且返回0.

smove set3 set2 2
smove set1 set2 4
在这里插入图片描述

6.3 source 集合存在且包含指定的元素

此成员将会从source集合中移除,并添加到destination集合中去。

smove set1 set2 0
smembers set1
smembers set2
在这里插入图片描述
如果destination集合已经存在该元素,则smove命令仅将该元素从source集合中移除
在这里插入图片描述

6.4 若source 和destination不是集合类型

则返回错误
在这里插入图片描述

7、SINTER key [key …]

返回指定所有的集合的成员的交集。例如推荐共同好友,拿到两个用户的好友列表,有交集,那就可以把用户A的其他好友推荐给用户B。例如向Bob推荐杨幂,向Tom推荐杨颖,因为他们都有共同的好友张大大。

例如:

key1 = {a,b,c,d}
key2 = {c}
key3 = {a,c,e}
SINTER key1 key2 key3 = {c}

sadd key1 a b c d
sadd key2 c
sadd key3 a c e
sinter key1 key2 key3
在这里插入图片描述

如果key不存在则被认为是一个空的集合。当给定的集合为空的时候,结果也为空.(一个集合为空,结果一直为空).
在这里插入图片描述

8、SUNION key [key …]

返回给定的多个集合的并集中的所有成员.

例如:

key1 = {a,b,c,d}
key2 = {c}
key3 = {a,c,e}
SUNION key1 key2 key3 = {a,b,c,d,e}

SUNION key1 key2 key3
SUNION key1 key2 key4
不存在的key可以认为是空的集合.
在这里插入图片描述

9、SDIFF key [key …]

返回一个集合与给定集合的差集的元素.

举例:

key1 = {a,b,c,d}
key2 = {c}
key3 = {a,c,e}

返回key3与key1和key2的差集。
SDIFF key1 key2 key3 = {b,d}

注:是最后一个key跟前面几个key的比较

Sdiff key1 key2 key3
Sdiff key1 key2
sdiff key1 key3
sdiff key2 key3
在这里插入图片描述
不存在的key认为是空集.
在这里插入图片描述

这篇关于Redis命令 - Sets命令组常用命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/606386

相关文章

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis延迟队列的实现示例

《Redis延迟队列的实现示例》Redis延迟队列是一种使用Redis实现的消息队列,本文主要介绍了Redis延迟队列的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录一、什么是 Redis 延迟队列二、实现原理三、Java 代码示例四、注意事项五、使用 Redi

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

redis-cli命令行工具的使用小结

《redis-cli命令行工具的使用小结》redis-cli是Redis的命令行客户端,支持多种参数用于连接、操作和管理Redis数据库,本文给大家介绍redis-cli命令行工具的使用小结,感兴趣的... 目录基本连接参数基本连接方式连接远程服务器带密码连接操作与格式参数-r参数重复执行命令-i参数指定命

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维