Команда Redis Smove

Множество Redis

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

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

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

Если целевая коллекция уже содержит этот элемент, команда SMOVE просто удаляет элемент из исходной коллекции.

Если источник или назначение не является коллекцией, возвращается ошибка.

Синтаксис

Базовый синтаксис команды Redis SMOVE выглядит следующим образом:

redis 127.0.0.1:6379> SMOVE SOURCE DESTINATION MEMBER 

Доступные версии

>= 1.0.0

Возвращаемое значение

Если элемент успешно удалён, возвращается 1. Если элемент не является членом исходной коллекции и никакая операция не выполняется над целевой коллекцией, возвращается 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"

Множество Redis

Другие расширения