membersource 处的集合移动到 destination 处的集合。 此操作是原子性的。 在任意给定时刻,该元素对于其他客户端来说只会出现在 source destination 中。

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

此命令在集群化 Redis 环境中的行为有所不同。有关更多信息,请参阅多键操作页面。

*示例

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) "two"
2) "three"
redis>

*返回值说明

以下之一:

  • 整数回复: 如果元素被移动,返回 1
  • 整数回复: 如果元素不是 source 的成员且未执行任何操作,返回 0