将元素member
从source
集合移到destination
集合。 此操作是原子的。 在每个给定的时刻,该元素都只出现在source
集合或destination
集合中,不管是当前客户端还是其它客户端都是如此。
如果source
集合不存在或不包含指定的元素,则不执行任何操作,并返回0。 否则,该元素将从source
集合中删除,并添加到destination
集合中。 如果指定的元素已存在于destination
集合中,则仅将其从source
集合中删除。
如果source
或destination
的值不是集合,则返回错误。
可用版本:从1.0.0开始可用
时间复杂度:O(1)。
命令格式
SMOVE 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"
返回值
- 1,如果元素已移动。
- 0,如果元素不是
source
集合的成员并且未执行任何操作。