教程 > Redis教程 > Redis 命令 阅读:14

Redis SMOVE 命令

Redis SMOVE 命令

返回 Redis集合(sets)


Redis SMOVE 命令用于从集合source 中移动成员member 到集合 destination。 这个操作是原子操作。 在任何时刻,member 只会存在于source 和destination 其中之一。

如果集合source 不存在,或者要移动的成员不是集合source 的成员,什么也不执行并返回 0 。

否则,其它情况下,从集合source 中删除成员并添加到集合 destination。

如果要移动的元素在集合 destination中已经存在,那么只是从集合source中删除该成员。

如果 source 或destination 不是集合类型则返回错误。

语法

redis Smove 命令基本语法如下:

redis 127.0.0.1:6379> SMOVE SOURCE DESTINATION MEMBER

可用版本

>= 1.0.0

返回值

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

示例

redis 127.0.0.1:6379> SADD myset1 "hello"
(integer) 1
redis 127.0.0.1:6379> SADD myset1 "world"
(integer) 1
redis 127.0.0.1:6379> SADD myset1 "bar"
(integer) 1
redis 127.0.0.1:6379> SADD myset2 "foo"
(integer) 1
redis 127.0.0.1:6379> SMOVE myset1 myset2 "bar"
(integer) 1
redis 127.0.0.1:6379> SMEMBERS myset1
1) "World"
2) "Hello"
redis 127.0.0.1:6379> SMEMBERS myset2
1) "foo"
2) "bar"

时间复杂度

SMOVE 命令时间复杂度:O(1)

返回 Redis集合(sets)

查看笔记

扫码一下
查看教程更方便