Thanks for checking it out!
Good question, this is slightly different than lru_cache in that it persists to disk so it retrieves from the cache even when you rerun the Python interpreter.
Also it gives you a bit of flexibility as when to refresh the cache and to use or ignore function parameters. I often make a change in one 'group', db data for example, and am able to just refresh those methods that gather data from the db.