filecache is a Python decorator which saves the return value of functions even after the interpreter dies. For example this is useful on functions that download and parse webpages for example. All you need to do is specify for how long the return values should be cached (use seconds, like time.sleep).
from filecache import filecache
@filecache(24 * 60 * 60)
NOTE: All arguments of the decorated function and the return value need to be picklable for this to work.
NOTE: The cache isn't automatically cleaned, it is only overwritten. If your function can receive many different arguments that rarely repeat, your cache may forever grow. One day I might add a feature that once in every 100validity scans the db for outdated stuff and erases.