MongoDBからRedisのsorted setにデータを移すワンライナー
リカバリで必死こいて書いた。
./mongoexport --query '{ condition: true }' \ -h mongo.example.com --port 12345 \ -d database -c collection \ -u user -p password \ --fields score,_id \ --csv | \ ruby -pe 'def gen_redis_proto(*cmd); proto = ""; proto << "*"+cmd.length.to_s+"\r\n"; cmd.each{|arg| proto << "$"+arg.to_s.bytesize.to_s+"\r\n"; proto << arg.to_s+"\r\n"}; proto; end; a = $_.chomp.split(","); $_ = gen_redis_proto("ZADD", "SORTED_SET", a[0], a[1])' | \ redis-cli -h redis.example.com --pipe