Skip to content

Instantly share code, notes, and snippets.

@zerodie
Last active December 23, 2015 02:49
Show Gist options
  • Save zerodie/6569084 to your computer and use it in GitHub Desktop.
Save zerodie/6569084 to your computer and use it in GitHub Desktop.
redis back up and clean
require File.join(File.dirname(__FILE__), '../../config/environment')
task :redis_bk_and_clean => :environment do
fout = File.open("../redis-backup/redis-backup-and-clean-#{Time.now}.txt",'w')
$redis.keys.each_with_index do |key, k_i|
fout.puts "------- key_#{k_i}: #{key}, type: #{$redis.type(key)} -------"
if $redis.type(key) == "zset"
$redis.zrange(key, 0, -1).each do |member|
fout.puts "#{member}:#{$redis.zscore(key, member)}"
end
elsif $redis.type(key) == "set"
fout.puts $redis.smembers(key)
elsif $redis.type(key) == "hash"
fout.puts $redis.hgetall(key)
end
$redis.del(key)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment