Skip to content

Instantly share code, notes, and snippets.

@pjanuario
Last active December 28, 2015 10:49
Show Gist options
  • Save pjanuario/7489450 to your computer and use it in GitHub Desktop.
Save pjanuario/7489450 to your computer and use it in GitHub Desktop.
This script migrates redis keys namespaces
require 'redis'
module RedisMigrator
def self.run
from = "production:"
to = "development:"
start = Time.now
r = Redis.new
k = 0
keys = r.keys("#{from}*")
puts "Start migrating #{keys.size}..."
keys.each do |key|
s_key = key.sub(from, to)
r.rename(key, s_key)
k += 1
puts "#{k} keys renamed..." if (k % 100) == 0
end
puts "Migrated #{k} keys from '#{from}' to '#{to}'... "
puts "Took #{Time.now - start}s"
end
def self.run_clean_keys_from
from = "launch:"
start = Time.now
r = Redis.new
k = 0
keys = r.keys("#{from}*")
puts "Start deleting #{keys.size}..."
keys.each do |key|
r.del key
k += 1
puts "#{k} keys deleted..." if (k % 100) == 0
end
puts "Deleteted #{k} keys from '#{from}... "
puts "Took #{Time.now - start}s"
end
end
@kartesus-zz
Copy link

Por que isso não é uma rake?

@leoaretakis
Copy link

Concordando com @agravem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment