Redis常用命令(5)——Set

本文详细介绍了Redis中集合类型的各项操作,包括元素的增删查改、集合间的并差交运算等,并解释了每项操作的功能及返回值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SADD

格式:SADD key member [member ...]

作用:在集合key中插入一个或多个元素。如果member已经存在,则忽略member。如果key不存在则先创建集合key。

返回值:成功插入的元素个数。

 

SCARD

格式:SCARD key

作用:返回集合中的元素个数。

返回值:元素个数。如果集合不存在返回0。

 

SDIFF

格式:SDIFF key [key ...]

作用:返回多个集合的差集,如果某些集合key不存在认为是空集。

返回值:多个集合的差集。

 

SDIFFSTORE

格式:SDIFFSTORE destination key [key ...]

作用:计算多个集合的差集并存储在 destination 中,如果某些集合key不存在认为是空集。

返回值: destination中元素的个数。

 

SINTER

格式:SINTER key [key ...]

作用:返回多个集合的交集,如果某些集合key不存在认为是空集。

返回值:多个集合的交集。

 

SINTERSTORE

格式:SINTERSTORE destination key [key ...]

作用:计算多个集合的交集并存储在 destination 中,如果某些集合key不存在认为是空集。

返回值:destination中元素的个数。

 

SISMEMBER

格式:SISMEMBER key member

作用:判断member是否存在于集合key中。

返回值:如果存在返回1,如果不存在或key不存在返回0。

 

SMEMBERS

格式:SMEMBERS key

作用:返回集合key的所有元素。如果key不存在认为是空集。

返回值:集合key的所有元素。

 

SMOVE

格式:SMOVE source destination member

作用:把member从源集合source移动到目标集合destination中。

返回值:移动成功返回1,否则返回0。

 

SPOP

格式:SPOP key

作用:从集合key中随机弹出一个元素。

返回值:弹出的元素。如果key不存在或为空,返回nil。

 

SRANDMEMBER

格式:SRANDMEMBER key [count]

作用:从集合key中取出多个元素,不移除。

如果count大于0,从key中取出count个元素且互不相同。如果count大于集合的大小,则返回整个集合。

如果count小于0,从key中取出|count|个元素,可能会有重复。

如果不提供count参数,则只返回一个元素。

返回值:只提供 key 参数时,返回一个元素;如果集合为空,返回 nil 。如果提供了 count 参数,那么返回一个数组;如果集合为空,返回空数组。

 

SREM

格式:SREM key member [member ...]

作用:从集合key中移除一个或多个元素。

返回值:被移除元素的个数。如果key不是集合类型,返回错误。

 

SUNION

格式:SUNION key [key ...]

作用:返回多个集合的并集,如果某些集合key不存在认为是空集。

返回值:多个集合的并集。

 

SUNIONSTORE

格式:SUNIONSTORE destination key [key ...]

作用:计算多个集合的并集并存储在 destination 中,如果某些集合key不存在认为是空集。

返回值:destination中元素的个数。

 

原文地址:http://caiguoqing.org/post/108

### Redis 常用命令及使用方法 #### 查找匹配的键 为了查找所有符合特定模式的键,可以使用 `KEYS` 命令。此命令接受一个模式参数并返回所有与该模式相匹配的键名[^2]。 ```bash KEYS pattern ``` 例如,要找到所有以 "user:" 开头的键: ```bash KEYS user:* ``` 需要注意的是,在生产环境中应谨慎使用 `KEYS`,因为它可能会阻塞服务器进程。推荐替代方案是使用 `SCAN` 命令来遍历键空间。 #### 获取和设置字符串值 对于简单的键值操作,可利用如下两个基础命令: - **SET**: 将指定 key 设置为 value。 ```bash SET mykey "Hello" ``` - **GET**: 返回给定 key 的 string 类型 value。 ```bash GET mykey ``` 这两个命令适用于处理基本的数据存储需求。 #### 列表(List)操作 Redis 支持双向链表形式的数据结构——List, 提供了一系列用于管理列表项的操作指令。 - **LPUSH/RPUSH**: 向列表头部/尾部添加元素 ```bash LPUSH list-key element1 [element2 ...] RPUSH list-key element1 [element2 ...] ``` - **LPOP/RPOP**: 移除并获取列表的第一个/最后一个元素 ```bash LPOP list-key RPOP list-key ``` 通过上述命令能够方便地实现队列或栈的行为模拟。 #### 集合(Set)成员关系判断及相关运算 当涉及到唯一性的维护以及交集、并集等集合论概念时,则需要用到 Set 数据类型下的功能函数。 - **SADD**: 添加一个或多个 member 元素到名称为 key 的 set 中;如果某个 member 已经存在则不会重复加入 ```bash SADD set-key member [member ...] ``` - **SMEMBERS/SISMEMBER**: 查询整个集合的内容或是检验某元素是否属于当前集合 ```bash SMEMBERS set-key SISMEMBER set-key member ``` 以上列举了一些常见的 Redis 操作方式,具体应用场景还需根据业务逻辑灵活选用合适的 API 接口[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值