Redis Smove 命令將指定成員 member 元素從 source 集合移動到 destination 集合。
SMOVE 是原子性操作。
如果 source 集合不存在或不包含指定的 member 元素,則 SMOVE 命令不執(zhí)行任何操作,僅返回 0 。否則, member 元素從 source 集合中被移除,并添加到 destination 集合中去。
當(dāng) destination 集合已經(jīng)包含 member 元素時, SMOVE 命令只是簡單地將 source 集合中的 member 元素刪除。
當(dāng) source 或 destination 不是集合類型時,返回一個錯誤。
redis Smove 命令基本語法如下:
redis 127.0.0.1:6379> SMOVE SOURCE DESTINATION MEMBER
>= 1.0.0
如果成員元素被成功移除,返回 1 。 如果成員元素不是 source 集合的成員,并且沒有任何操作對 destination 集合執(zhí)行,那么返回 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"