English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Команда Smove Redis

Множества (Set) Redis

Команда Smove Redis перемещает указанный элемент member из коллекции source в коллекцию destination.

SMOVE - атомарная операция.

Если коллекция source не существует или не содержит указанного элемента member, команда SMOVE не выполняет هیچ действий и возвращает 0. В противном случае, элемент member удаляется из коллекции source и добавляется в коллекцию destination.

Когда коллекция destination уже содержит элемент member, команда SMOVE просто удаляет элемент member из коллекции 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"

Множества (Set) Redis