code: def keys(self, args):
          
          results = {}
          # TODO: parallelize
          for shard_num in range(0, self.num_shards()):
              shard = self.get_shard_by_num(shard_num)
              results[shard_num] = shard.keys(args)
          return results
docs: keys wrapper that queries every shard. This is an expensive
          operation.
  
          This method should be invoked on a TwemRedis instance as if it
          were being invoked directly on a StrictRedis instance.