class RedisCopy::Strategy::DumpRestore

Public Instance Methods

copy(key) click to toggle source
# File lib/redis-copy/strategy/dump-restore.rb, line 17
def copy(key)
  @ui.debug("COPY: #{key.dump}")

  ttl = @src.ttl(key)
  # TTL returns seconds, -1 means none set
  # RESTORE ttl is in miliseconds, 0 means none set
  translated_ttl = (ttl && ttl > 0) ? (ttl * 1000) : 0

  dumped_value = @src.dump(key)
  @dst.restore(key, translated_ttl, dumped_value)

  return true
rescue Redis::CommandError => error
  @ui.debug("ERROR: #{error}")
  return false
end