title: Python in-memory cache with time to live
body: <p>I have multiple threads running the same process that need to be able to to notify each other that something should not be worked on for the next n seconds its not the end of the world if they do however.</p>
  
  <p>My aim is to be able to pass a string and a TTL to the cache and be able to fetch all the strings that are in the cache as a list. The cache can live in memory and the TTL's will be no more than 20 seconds.</p>
  
  <p>Does anyone have a any suggestions for how this can be accomplished?</p>