Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

Redis SMOVE 命令

Redis 集合(Sets) Redis 集合(Sets)


SMOVE 命令将 member 从 source 集合移动到 destination 集合中。SMOVE 是原子性操作。如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回0。否则,member 元素从 source 集合中被移除,并添加到 destination 集合中去。当 destination 集合已经包含 member 元素时,SMOVE 命令只是简单地将 source 集合中的 member 元素删除。当 source 或 destination 不是集合类型时,返回一个错误。

命令格式

SMOVE source destination member

可用版本:>=1.0.0

时间复杂度:O(1)

命令返回值

返回整数:

  • 如果 member 元素被成功移除,返回1。
  • 如果 member 元素不是 source 集合的成员,并且没有任何操作对 destination 集合执行,那么返回0。

示例

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"