SMOVE

将成员从一组移动到另一组。

语法

SMOVE source destination member

引入版本:1.0.0

复杂度摘要:O(1)

[!NOTE] 此命令的行为在集群 Redis 环境中有所不同。请参阅 多键操作 页面了解更多信息。

将 member 从 source 的集合移至 destination 的集合。这个操作是原子的。在每个给定时刻,该元素对于其他客户端来说都将显示为 source or destination 的成员。

如果源集不存在或不包含指定元素,则不执行任何操作,返回0。否则,该元素将从源集中删除并添加到目标集中。当指定的元素已存在于目标集中时,仅将其从源集中删除。

必需参数

source

源集的键。

destination

目的地设置的键。

member

要从源集移动到目标集的成员。

示例

redis> SADD myset "one"
(integer) 1
redis> SADD myset "two"
(integer) 1
redis> SADD myotherset "three"
(integer) 1
redis> SMOVE myset myotherset "two"
(integer) 1
redis> SMEMBERS myset
1) "one"
redis> SMEMBERS myotherset
1) "three"
2) "two"

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动

返回值

RESP2

以下之一: * 整数回复:1(如果元素已移动)。 * 整数回复:如果该元素不是 来源 的成员并且未执行任何操作,则为 0。

RESP3

以下之一: * 整数回复:1(如果元素已移动)。 * 整数回复:如果该元素不是 来源 的成员并且未执行任何操作,则为 0。

资料来源:Redis 官方 SMOVE 文档;中文内容参考 Redis 文档许可。