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