Redis Smove 命令

Redis 集合(Set)

Redis Smove 命令將指定成員 member 元素從 source 集合移動(dòng)到 destination 集合。

SMOVE 是原子性操作。

如果 source 集合不存在或不包含指定的 member 元素,則 SMOVE 命令不執(zhí)行任何操作,僅返回 0 。否則, member 元素從 source 集合中被移除,并添加到 destination 集合中去。

當(dāng) destination 集合已經(jīng)包含 member 元素時(shí), SMOVE 命令只是簡(jiǎn)單地將 source 集合中的 member 元素刪除。

當(dāng) source 或 destination 不是集合類型時(shí),返回一個(gè)錯(cuò)誤。

語(yǔ)法

redis Smove 命令基本語(yǔ)法如下:

redis 127.0.0.1:6379> SMOVE SOURCE DESTINATION MEMBER 

可用版本

>= 1.0.0

返回值

如果成員元素被成功移除,返回 1 。 如果成員元素不是 source 集合的成員,并且沒有任何操作對(duì) destination 集合執(zhí)行,那么返回 0 。

實(shí)例

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"

Redis 集合(Set)