title: Redis pipeline vs mget
body: <p>I'm looking into using either <a href="https://redis.io/commands/mget" rel="nofollow noreferrer">MGET</a> or <a href="https://redis.io/topics/pipelining" rel="nofollow noreferrer">pipeline</a>, but I can't seem to find the information on <code>MGET</code> that I'm looking for</p>
  
  <p>My use case is to replace 50 <code>GET</code> calls with either <code>MGET</code> or <code>pipeline</code></p>
  
  <p>What I found so far is:</p>
  
  <p>When we use <code>pipeline</code>, commands are not guaranteed to be executed one after the another and other client commands could be executed in between. This means that when we group <code>GET</code> commands with <code>pipeline</code>, redis won't be blocked for O(50) and other clients will get a chance to execute their commands (50 being number of <code>GET</code> calls that I'm grouping)</p>
  
  <p>On the other hand, for the command <code>MGET</code> I was not able to find the information on how it works - when we call MGET with 50 keys, will the command block the redis instance until it gets all the keys? How does the <code>MGET</code> work?  </p>