
This memoization decorator uses the Django cache framework. It works with non-trivial arguments and keyword arguments.
There is support for memoized function calls to be invalidated.
Includes the ability to use as a "guard" for repeated execution when storing the function result isn't important or needed.