I thought about this as well be I didn't see a deterministic way to map the values returned by mGet to their corresponding keys [here](https://github.com/twitter/finagle/blob/master/finagle-redis/src/main/scala/com/twitter/finagle/redis/StringCommands.scala#L156-L166). I guessed that at lease if I got back the same number of values as I passed in keys, I'd get back values I could map by index. I noticed that the memcached client [did](https://github.com/twitter/finagle/blob/master/finagle-memcached/src/main/scala/com/twitter/finagle/memcached/Client.scala#L58-L66). Returning empty could be improved but I think I need a suggestions for making the mappings between values and keys. If I ask for 4 keys and get back 2 returns, if the sematics for mapping are still by index, I guess I can return a map of the first 2 keys. Is that valid guess.