title: Using a distributed cache/store in a load balanced HTTP service
body: <p>I'm using the .NET System.Runtime Memory cache to store transient resources in a WebAPI based REST service. 
  The resource represents a "query". When a client issues a POST via HTTP we generate an ID and stick the query into the Cache.
  More details on the scenari can be found <a href="https://stackoverflow.com/questions/19068984/sending-multiple-queries-to-a-webapi-controller">here</a>.</p>
  
  <p>When the client issues a GET, the resource is retrieved from the in-memory cache and the "query" is executed.
  This works fine in general but fails in a load balanced scenario since the client could hit instance 1 to POST the "query" and hit instance
  2 to get the results.</p>
  
  <p>I'm looking for options so as to enable this to work in a load balanced scenario.
  Writing to the "query" object to the database is not feasible both from a performance standpoint and also due to the transient nature
  of the query. </p>
  
  <p>One possible solution is to use a distributed caching service such as "AppFabric" but I'd like to weight this against other options both in terms of performance and complexity of implementation.</p>
  
  <p>Thoughts/guidance much appreciated.</p>
  
  <p>TIA</p>