SMOVE

Syntax

  1. SMOVE source destination member

Time complexity: O(1)

ACL categories: @write, @set, @fast

Move member from the set at source to the set at destination. This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients.

If the source set does not exist or does not contain the specified element, no operation is performed and 0 is returned. Otherwise, the element is removed from the source set and added to the destination set. When the specified element already exists in the destination set, it is only removed from the source set.

An error is returned if source or destination does not hold a set value.

Return

Integer reply, specifically:

  • 1 if the element is moved.
  • 0 if the element is not a member of source and no operation was performed.

Examples

  1. dragonfly> SADD myset "one"
  2. (integer) 1
  3. dragonfly> SADD myset "two"
  4. (integer) 1
  5. dragonfly> SADD myotherset "three"
  6. (integer) 1
  7. dragonfly> SMOVE myset myotherset "two"
  8. (integer) 1
  9. dragonfly> SMEMBERS myset
  10. 1) "one"
  11. dragonfly> SMEMBERS myotherset
  12. 1) "two"
  13. 2) "three"