扫码一下
查看教程更方便
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)