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 文档许可。