This is a pretty good implementation. I like the simplicity of it, reminds me of SQLite backed storage decorators we used to have, where the data was persisted to a DB instead of the file system (altho thats just a different storage engine)
Does this also take care of the thundering heard problem? That was one of the cases where lru_cache really blows