title: How does Lru_cache (from functools) Work?
body: <p><strong>Especially</strong> when using recursive code there are massive improvements with <code>lru_cache</code>.       I do understand that a cache is a space that stores data that has to be served fast and saves the computer from recomputing.</p>
  
  <p>How does the <strong>Python</strong> <code>lru_cache</code> from functools work internally? </p>
  
  <p>I'm Looking for a specific answer, does it use dictionaries like the rest of Python? Does it only store the <code>return</code> value?</p>
  
  <p>I know that <strong>Python</strong> is heavily built on top of dictionaries, however, I couldn't find a specific answer to this question. Hopefully, someone can simplify this answer for all the users on <strong><em>StackOverflow</em></strong>.</p>