title: Caching and searching API responses for multiple requests
body: <p>I am working with an graphQL API that is rate limited but also allows for large responses. This is an example of a single operation:</p>
  <p>Given some search term by a user &quot;Nike Pegasus Running Shoes&quot;, I can query this API and get a response json of a couple thousand results. Now what I want to do with this response is sort or search the entries such that I can take the most similar results from that response (across title, category, etc). I also want to save this response so that if two queries are similar, I can re-use the response. Should I be setting up a SQL database for this and storing the responses in there?</p>
  <p>I would appreciate some advice on what database or stack I should be using to build for this. As this operation needs to be done thousands of times, caching responses locally isn't ideal. Currently the rest of the code for this project is written in Python if that helps.</p>
  <pre><code>{
         &quot;title&quot;: &quot;Nike Pegasus 35&quot;,
        &quot;description&quot;: &quot;Category: Shoes. Sub-category: Sneakers. Brand: Nike.  Material: Flyknit. Color: blue. Size: 10.5 US&quot;,
        &quot;category&quot;: &quot;Men &gt; SHOES &gt; SNEAKERS&quot;,
        &quot;price&quot;: {
              &quot;amount&quot;: &quot;120&quot;,
              &quot;currency&quot;: &quot;USD&quot;
                 },
  
         &quot;URL&quot;: &quot;https://www.nike.com/products/x&quot;
                 
  }
  </code></pre>