What does Redis log to the slow log? The comment lines in the 2.4.17 redis.conf file say:
# The Redis Slow Log is a system to log queries that exceeded a specified
# execution time. The execution time does not include the I/O operations
# like talking with the client, sending the reply and so forth,
# but just the time needed to actually execute the command (this is the only
# stage of command execution where the thread is blocked and can not serve
# other requests in the meantime).
So the entries in the slow log are commands which took Redis a long time to execute. If it took a long time to receive the command from the client, or to send the response back to the client, Redis will not log the command.
So you have a Ruby client that says it took a long time between sending the command and receiving the reply, but the server says it didn't take a long time to execute the command. The first cause that comes to mind and matches those symptoms is network latency. The second that comes to mind is the Ruby gem and/or run-time environment. (I'm not pointing fingers at Ruby or redis-rb, just listing the potential sources of latency)
Myself, I'd cut to the chase and capture the network traffic with tcpdump on both a client machine and the Redis server machine. When the client reports a slow MGET, find the packets in the two tcpdump capture files and see where the delay happens in the round-trip path.
-Greg